import java.util.Scanner;
public class Main{
public static void main(String args[]){
Scanner sc = new Scanner(System.in);
int a = sc.nextInt();
int b = sc.nextInt();
if(a == b){
System.out.println("==");
}
else if (a > b) { System.out.println(">"); }
else { System.out.println("<"); }
}
}
시험 점수를 입력받아 90 ~ 100점은 A, 80 ~ 89점은 B, 70 ~ 79점은 C, 60 ~ 69점은 D, 나머지 점수는 F를 출력하는 프로그램
import java.util.Scanner;
public class Main{
public static void main(String args[]){
Scanner sc = new Scanner(System.in);
int rs = sc.nextInt(); //시험 점수는 0보다 크거나 같고, 100보다 작거나 같은 정수
char grade;
if(rs >= 60 ){
if(rs >= 70) {
if(rs >= 80){
if(rs >= 90){ grade = 'A'; }
grade = 'B';
} grade = 'C';
} grade = 'D';
}
else { grade = 'F';}
System.out.println(grade);
}
}
틀렸다. 왜냐면 a 조건 만족하고도 밑으로 계속 오기 때문이다.
import java.util.Scanner;
public class Main{
public static void main(String args[]){
Scanner sc = new Scanner(System.in);
int rs = sc.nextInt();
char grade;
if(rs < 90 ){
grade = 'B';
if(rs < 80) {
grade = 'C';
if(rs < 70){
grade = 'D';
if(rs < 60){ grade = 'F'; }
}
}
}
else { grade = 'A';}
System.out.println(grade);
}
}
로 고쳐주었다.
삼항 연산자 쓰면 있어빌리티와 효율성이 충족되기 때문에 이것도 연습해 본다.
import java.util.Scanner;
public class Main{
public static void main(String args[]){
Scanner sc = new Scanner(System.in);
int rs = sc.nextInt();
System.out.print((rs>=90)?"A": (rs>=80)? "B": (rs>=70)? "C": (rs>=60)? "D": "F");
}
}
?앞() 안의 조건이 만족되면 ? 뒤의 결과가 출력되는걸로 나열된 식이다.