이름:kom 국어:80 영어:90 수학:100 kom님의 평균은90.0성적은수입니다. 계속?y 이름:yun 국어:90 영어:70 수학:55 yun님의 평균은71.66666666666667성적은미입니다. 계속?yes 이름:한글 국어:90 영어:75 수학:80 한글님의 평균은81.66666666666667성적은우입니다. 계속?klsjdaf 종료되었습니다. 종료되었습니다.
class StudentGrade{ private String name; private double kor; private double eng; private double math; public StudentGrade(String name, double kor, double eng, double math) { this.name = name; this.kor = kor; this.eng = eng; this.math = math; } public double getAvg() { return (kor + eng + math)/3.0; } public char getGrade() { double avg = getAvg(); char grade='가'; if(avg >= 90.0) { grade='수'; } else if(avg >= 80.0) { grade='우'; } else if(avg >= 70.0) { grade='미'; } else if(avg >= 60.0) { grade='양'; } else { grade='가'; } return grade; } public void showInfo() { System.out.println(name +"님의 평균은 " + getAvg() + "이고 성적은 " + getGrade() + "입니다." ); } } public class ScannerExample2 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); StudentGrade st; String name; double kor; double eng; double math; String menu = "no"; while(true) { System.out.print("이름 : "); name = scanner.nextLine(); System.out.print("국어 : "); kor = scanner.nextDouble(); System.out.print("영어 : "); eng = scanner.nextDouble(); System.out.print("수학 : "); math = scanner.nextDouble(); st = new StudentGrade(name, kor, eng, math); st.showInfo(); System.out.print("계속하시겠습니까? (yes,y/no,n) : "); scanner.nextLine(); menu = scanner.nextLine(); if("yes".compareToIgnoreCase(menu) == 0 || "y".compareToIgnoreCase(menu) ==0 ) continue; else break; } System.out.println("프로그램이 종료되었습니다."); } }
이름 : kom 국어 : 80 영어 : 90 수학 : 100 kom님의 평균은 90.0이고 성적은 수입니다. 계속하시겠습니까? (yes,y/no,n) : y 이름 : yun 국어 : 90 영어 : 70 수학 : 55 yun님의 평균은 71.66666666666667이고 성적은 미입니다. 계속하시겠습니까? (yes,y/no,n) : yes 이름 : 한글 국어 : 90 영어 : 75 수학 : 80 한글님의 평균은 81.66666666666667이고 성적은 우입니다. 계속하시겠습니까? (yes,y/no,n) : asdlkfj 프로그램이 종료되었습니다.
equals()
- str1.equals(str2) 라고 하면 str1의 문자열과 str2의 문자열이 같은지 확인한다.
indexOf()
- str.indexOf('c', 2) str 문자열에서 c문자열이 있는 index 번호를 return하는데, 이 경우는 2번 인덱스(포함)부터 시작해서 찾는다.
length()
- str.length()를 할 경우 str 문자열의 길이를 가져온다. str = "String"이라면 int 타입 6을 return
substring()
- str.substring(0, 5) str 문자열의 0번(포함)부터 5번(미포함 -> 4번 인덱스에 해당하는 문자까지)까지 문자열을 잘라 return한다.
toUpperCase()와 toLowerCase()
- str.toUpperCase()는 str의 모든 문자를 대문자로 변환해서 return, str.toLowerCase()는 str의 모든 문자를 소문자로 변환해서 return
concat()
- str1.concat(str2) str1뒤에 str2 문자열을 붙여서 새로운 객체로 만들어서 return.
startWith()
- str1.startWith(str2) => str2를 str1앞에 붙여서 새로운 객체를 만들어서 return
replace()
- str.replace(char ch1, char ch2)가 들어갈 수 있고 str.replace(String str1, String str2)가 들어갈 수 있는데, 앞의 인자를 찾아서 뒤의 인자로 바꿔 String으로 다시 return한다.
trim()
- str.trim() str이 공백으로 시작하거나 공백으로 끝날 때, str의 왼쪽과 오른쪽의 공백을 모두 없애는 함수
contains
- str1.contains(str2) 하면 str1에서 str2에 해당하는 문자열이 있는지 확인. 있으면 true를 return 없으면 false를 return
====================== 힌트) length 함수와 charAt 함수사용 영어 단어를 입력하세요. dakjfivnlwe 총 글자 수는: 11개 입니다. 모음은 : 3개 입니다. 자음은 : 8개 입니다.
import java.util.Scanner; public class StringExample230623 { static boolean isVowel(char ch) { char lowerVowel = Character.toLowerCase(ch); switch(lowerVowel) { case 'a': case 'e': case 'i': case 'o': case 'u': return true; } return false; } public static void main(String[] args) { Scanner scanner = new Scanner(System.in); String str, menu; int length; int vowel, consonant; while(true){ System.out.println("영어 단어를 입력하세요."); str = scanner.nextLine(); length =0; length = str.length(); vowel = 0; consonant = 0; System.out.println("총 글자 수는: " + length +"개 입니다."); for(int i=0;i<length; i++) { if(isVowel(str.charAt(i))) vowel += 1; else consonant += 1; } System.out.println("모음은 : " + vowel + "개 입니다."); System.out.println("자음은 : " + consonant + "개 입니다."); System.out.print("계속하시겠습니까? (yes,y/no,n) : "); menu = scanner.nextLine(); if("yes".compareToIgnoreCase(menu) == 0 || "y".compareToIgnoreCase(menu) == 0) { continue; } else { break; } } System.out.println("종료되었습니다."); } }
영어 단어를 입력하세요. iopclkdmenwjqkalxod 총 글자 수는: 19개 입니다. 모음은 : 5개 입니다. 자음은 : 14개 입니다. 계속하시겠습니까? (yes,y/no,n) : y 영어 단어를 입력하세요. icocrmzpqoaskldnfuedico 총 글자 수는: 23개 입니다. 모음은 : 8개 입니다. 자음은 : 15개 입니다. 계속하시겠습니까? (yes,y/no,n) : n 종료되었습니다.