ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 231012_Java
    Coding Class 2023. 10. 17. 11:16

    김성래 님 실습1 작업물

    package practice_Ex05;
    
    import java.io.*;
    
    public class HomeWork1 {
    
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    		// Chapter 15 입출력(I/O)
    		// https://docs.oracle.com/javase/8/docs/api/java/io/FileReader.html		
    		// https://www.w3schools.com/java/java_files_read.asp
    		try {	// 예외처리(exception handling)
    			String fileName = "/Users/syahnn11/Documents/Workspace-Java/Study/src/practice_Ex02/Ex02_04.java";
    			// 문자데이터를 입출력할 때는 문자기반 스트림(FileReader/FileWriter)을 사용한다.
    			FileReader fileReader = new FileReader(fileName);	// FileReader 클래스로 fileReader를 생성.
    			int data;			// 파일의 데이터.
    			int row = 1;		// 행.
    			
    			while((data = fileReader.read()) != -1) {	// 마지막 데이터에 도달할 때까지 계속하기.
    				if(row == 1) {							// 데이터의 시작에
    					System.out.printf("%d ", row++); 	// row number 출력 후 +1 한다.
    				}
    				System.out.print((char)data);			// FileReader를 이용해서 읽어온 파일 내용을 화면에 출력.
    				if(data == '\n') {						// 공백일 때.
    					System.out.printf("%d ", row++);	// row number 출력 후 +1 한다.
    				}
    			}
    			fileReader.close();							// FileReader 종료.
    		} catch(IOException e) {
    			System.out.println("ERROR");
    		}
    	}
    }

     

    김성래 님 실습2 작업물

    package practice_Ex05;
    
    public class HomeWork2 {
    
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    		String para = "Once when I was six years old I saw a magnificent picture\n"
    				+ "in a book, called True Stories from Nature, about the\n"
    				+ "primeval forest. It was a picture of a boa constrictor in the\n"
    				+ "act of swallowing an animal. Here is a copy of the drawing.\n"
    				+ "In the book it said: \"Boa constrictors swallow their prey\n"
    				+ "whole, without chewing it. After that they are not able to\n"
    				+ "move, and they sleep through the six months that they need\n"
    				+ "for digestion.\n";
    		System.out.printf("어린 왕자의 첫 번째 문 :\n%s\n", para);
    		System.out.printf("공백/기호를 포함한 문자의 개수는 %d개입니다.\n", para.length());
    		
    		int letter = 0, blank = 0;
    		int a = 0, b = 0, c = 0, d = 0, e = 0, f = 0, g = 0, h = 0, i = 0, j = 0, k = 0, l = 0, m = 0, 
    				n = 0, o = 0, p = 0, q = 0, r = 0, s = 0, t = 0, u = 0, v = 0, w = 0, x = 0, y = 0, z = 0;
    		
    		for(int init = 0; init < para.length(); init++) {
    			char para_char = para.charAt(init);
    			if('A' <= para_char && para_char <= 'Z' || 'a' <= para_char && para_char <= 'z') {
    				letter++; 
    			} else {
    				blank++;
    			}
    		}
    		
    		for(int init = 0; init < para.length(); init++)	{
    			char para_char = para.charAt(init);
    			switch(para_char) {
    			case 'a': case 'A':
    				a++;
    				break;
    			case 'b': case 'B':
    				b++;
    				break;
    			case 'c': case 'C':
    				c++;
    				break;
    			case 'd': case 'D':
    				d++;
    				break;
    			case 'e': case 'E':
    				e++;
    				break;
    			case 'f': case 'F':
    				f++;
    				break;
    			case 'g': case 'G':
    				g++;
    				break;
    			case 'h': case 'H':
    				h++;
    				break;
    			case 'i': case 'I':
    				i++;
    				break;
    			case 'j': case 'J':
    				j++;
    				break;
    			case 'k': case 'K':
    				k++;
    				break;
    			case 'l': case 'L':
    				l++;
    				break;
    			case 'm': case 'M':
    				m++;
    				break;
    			case 'n': case 'N':
    				n++;
    				break;
    			case 'o': case 'O':
    				o++;
    				break;
    			case 'p': case 'P':
    				p++;
    				break;
    			case 'q': case 'Q':
    				q++;
    				break;
    			case 'r': case 'R':
    				r++;
    				break;
    			case 's': case 'S':
    				s++;
    				break;
    			case 't': case 'T':
    				t++;
    				break;
    			case 'u': case 'U':
    				u++;
    				break;
    			case 'v': case 'V':
    				v++;
    				break;
    			case 'w': case 'W':
    				w++;
    				break;
    			case 'x': case 'X':
    				x++;
    				break;
    			case 'y': case 'Y':
    				y++;
    				break;
    			case 'z': case 'Z':
    				z++;
    				break;
    				
    			}
    
    		}
    		
    		System.out.printf("공백/기호를 제외한 문자의 개수는 %d개입니다.\n", letter);
    		System.out.printf("공백과 기호의 개수는 %d개입니다.\n\n", blank);
    		System.out.printf("문단 내 각각 알파벳의 개수는 아래와 같습니다.\n", a, b);
    //		System.out.printf("a:%2d개\nb:%2d개\nc:%2d개\nd:%2d개\ne:%2d개\nf:%2d개\ng:%2d개\nh:%2d개\ni:%2d개\nj:%2d개\nk:%2d개\n", a, b, c, d, e, f, g, h, i, j, k);
    //		System.out.printf("l:%2d개\nm:%2d개\nn:%2d개\no:%2d개\np:%2d개\nq:%2d개\nr:%2d개\ns:%2d개\nt:%2d개\nu:%2d개\nv:%2d개\n", l, m, n, o, p, q, r, s, t, u, v);
    //		System.out.printf("w:%2d개\tx:%2d개\ny:%2d개\nz:%2d개\n", w, x, y, z);
    		System.out.printf("a:%2d개\tb:%2d개\tc:%2d개\td:%2d개\te:%2d개\tf:%2d개\tg:%2d개\th:%2d개\ti:%2d개\tj:%2d개\tk:%2d개\n", a, b, c, d, e, f, g, h, i, j, k);
    		System.out.printf("l:%2d개\tm:%2d개\tn:%2d개\to:%2d개\tp:%2d개\tq:%2d개\tr:%2d개\ts:%2d개\tt:%2d개\tu:%2d개\tv:%2d개\n", l, m, n, o, p, q, r, s, t, u, v);
    		System.out.printf("w:%2d개\tx:%2d개\ty:%2d개\tz:%2d개\n", w, x, y, z);
    	}
    
    }

    강태진 님 실습2 작업물

    package myproject;
    
    import java.util.Arrays;
    
    //실습: 어린왕자 텍스트 중 'a'의 개수 세기
    //-대소문자 구분 X
    public class StringPrince {
    
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    		//텍스트 변수에 저장
    		String little = "Once when I was six years old I saw a magnificent picture in a book, "
    				+ "called True Stories from Nature, about the primeval forest. "
    				+ "It was a picture of a boa constrictor in the act of swallowing an animal. "
    				+ "Here is a copy of the drawing.";
    		
    		//a갯수, 단어 갯수 변수 선언 및 초기화
    		int sum_a = 0;
    		int sum_space = 0;
    		
    		String[] alpha = new String[26];//a~z까지 들어갈 배열 선언,생성
    		for(char i = 'a'; i <= 'z'; i++) {//a~z까지
    			String ch = Character.toString(i);//char를 String으로 형변환
    			alpha[i - 97] = ch;//초기화
    		}//for
    		System.out.println(Arrays.toString(alpha));//배열 출력	
    		
    		int[] num = new int[26];//알파벳별 갯수가 들어갈 배연 선언, 생성
    		System.out.println(Arrays.toString(num));//알파벳 카운팅 배열 출력
    		
    		for(int i = 0; i < little.length(); i++) {//어린왕자 텍스트 읽기
    			for(int j = 0; j < alpha.length; j++) {//알파벳 갯수만큼 맷칭
    				String li = Character.toString(little.charAt(i));//문자열비교를위한 형변환
    				if(alpha[j].equalsIgnoreCase(li))//맷칭된 알파벳이 일치하면 
    					num[j]++;//맷칭된 알파벳 카운팅
    			}//for
    //			if(little.charAt(i) == 'a' || little.charAt(i) == 'A')//a 또는 A가 맞으면
    //				sum_a++;//카운팅
    //			if(little.charAt(i) == ' ')//공백 이면
    //				sum_space++;//공백 카운팅
    		}//for
    		
    //		System.out.print(sum_a);//a 갯수 누적합 출력
    //		System.out.println("\n" + (sum_space + 1));// 단어의 갯수(공백 +1) 출력
    		System.out.println(Arrays.toString(num));//알파벳 카운팅 배열 출력
    		
    		for(int i = 0; i < alpha.length; i++) {
    			alpha[i] += "=" + num[i];//알파벳 배열에 카운팅 갯수 추가
    		}//for
    		System.out.println(Arrays.toString(alpha));//알파벳 갯수 배열 출력
    		
    		int[] alpha2 = new int[26];
    		for(int i = 0; i < little.length(); i++) {
    			char a = little.charAt(i);
    			if(a >= 'a' && a <= 'z')
    				alpha2[a - 97]++;
    			else if(a >= 'A' && a <= 'Z')
    				alpha2[a - 65]++;
    		}
    		System.out.println(Arrays.toString(alpha2));
    		
    	}//main
    
    }//class

     

    이혁준 님 실습2 작업물

    package myproject;
    
    public class AlphabetPrince {
    
    	public static void main(String[] args) {
    		 // 어린왕자 테스트 중 알파벳의 개수 세기
    	    //-대소문자 구분 안 함.
    	    String str = "Once when I was six years old I saw a magnificent picture in a book, called True Stories from Nature,\r\n" + "about the primeval forest. It was a picture of a boa constrictor in the act of swallowing an animal. Here is a\r\n" + "copy of the drawing.";
    	    
    	    //대소문자 구분 안하니 소문자만 보게 모두를 소문자화.
    	    str = str.toLowerCase();
    	    
    	    //어린왕자 문자열을 char형 배열로 전환. 
    	     char[] charArray = str.toCharArray();
    	     
    	     //int형 배열 count 생성.
    	      int[] count = new int[99];
    
    	    //전체 어린왕자 문자열
    	            for (int i=0; i<str.length();i++) {
    	            	//알파벳이면 조건 발생, 공백이나 특수 문자는 안셈
    	              if (charArray[i]>='a' && charArray[i]<='z') {
    	            	  //현재 알파벳의 index번호를 찾음.
     	                int index = charArray[i]-'a';
    	                //count배열의 인덱스(해당 알파벳의 인덱스 번호) 번에 1만큼 계속 누적.
    	                 count[index]++;
    	                }
    	                }
    	      
    	            //알파벳 순서대로 반복문.
    	    for (char s = 'a'; s<='z';s++) {
    	    	//현재 알파벳의 index번호를 찾음.
    	      int index = s-'a';
    	      //알파벳 순서대로 누적값 출력.
    	      System.out.println(s+": "+count[index]+"개");
    	    }
    	}
    
    }

    'Coding Class' 카테고리의 다른 글

    231018_CSS  (0) 2023.10.18
    231017_Java  (0) 2023.10.17
    231016_HTML과 CSS  (0) 2023.10.16
    231013_DB 설계와 SQL 활용  (0) 2023.10.13
    231012_Java  (0) 2023.10.13
Designed by Tistory.