p.92 예제3-3
import java.util.Scanner;
public class GameTest_if_String_Int {
public static void main(String[] args) {
Scanner in=new Scanner(System.in);
System.out.println("가위(1),바위(2),보(3)");
System.out.println("컴퓨터꺼를 입력하세요");
int com = in.nextInt();
System.out.println("사용자꺼를 입력하세요");
int user = in.nextInt();
//방법1
if(user==com){
System.out.println("비김");
}else if(user==(com+1)%3) {
System.out.println("이김");
}else {
System.out.println("짐");
}
//방법2
String msg="";
if(com==1) {
if(user==1) msg="비김";
if(user==2) msg="이김";
if(user==3) msg="짐";
}
if(com==2) {
if(user==1) msg="짐";
if(user==2) msg="비김";
if(user==3) msg="이김";
}
if(com==3) {
if(user==1) msg="이김";
if(user==2) msg="짐";
if(user==3) msg="비김";
}
System.out.println(msg);
//방법3(문자열 입력)
System.out.println("컴퓨터꺼를 입력하세요");
String com2 = in.next();
System.out.println("사용자꺼를입력하세요");
String user2 = in.next();
String msg2="";
if(com2.equals("가위")) {
if(user2.equals("가위")) msg2="비김";
if(user2.equals("바위")) msg2="이김";
if(user2.equals("보")) msg2="짐";
}
if(com2.equals("바위")) {
if(user2.equals("가위")) msg2="짐";
if(user2.equals("바위")) msg2="비김";
if(user2.equals("보")) msg2="이김";
}
if(com2.equals("보")) {
if(user2.equals("가위")) msg2="이김";
if(user2.equals("바위")) msg2="짐";
if(user2.equals("보")) msg2="비김";
}
System.out.println(msg2);
}
}
tip:import 정리 단축키 : ctrl+ shift+o
원래 문자열은 String 변수=in.nextLine을 일반적으로 쓰는데 이게 공백과 줄바꿈까지 읽어서 오류가 발생할 수 있다.
그래서 보통 in.next와 in.nextLine을 혼용할때는 사이에 in.nextLine을 써서 엔터값을 없애는데 여기에서는 in.next를 두번쓰는 것이 더 용이하기때문에 nextLine은 쓰지 않았다.
(String none = in.nextLine();//엔터값 없애기)
20240809수업
Switch문, Random
Random rnd = new Random()
무작위로 자동으로 출력해주는 기능
switch(조건문 또는 변수){case 값: 결과; break;}
import java.util.Random;
import java.util.Scanner;
public class GameTest3_Random {
public static void main(String[] args) {
Scanner in= new Scanner(System.in);
Random rnd = new Random();
int com =rnd.nextInt(3) + 1; //0,1,2+1
System.out.println("가위(1),바위(2),보(3)");
System.out.println("사용자꺼를 입력하세요");
int user = in.nextInt();
String msg="";
switch(com) {
case 1:
switch(user) {
case 1:msg="비김";break;
case 2:msg="이김";break;
case 3:msg="짐";break;
}
break;
case 2:
switch(user) {
case 1:msg="짐";break;
case 2:msg="비김";break;
case 3:msg="이김";break;
}
break;
case 3:
switch(user) {
case 1:msg="이김";break;
case 2:msg="짐";break;
case 3:msg="비김";break;
}
break;
}
System.out.println(com);
System.out.println(msg);
}
}
case에는 하나의 값만 가질 수 있다.
case"A", "a" X에러
case>90 X에러(java,js에서는 안되고 oracle에서 가능)
◉in.nextint >int변수에 넣어준다는 뜻
입력 parameters>>타입(Pattern, String..)에 따라 next가 다르게 나오는 것이 객체지향언어(c#,java,c++)의 특징이다.
overloading(적재,여러함수를 담아놓음)
'JAVA' 카테고리의 다른 글
[java] Stack메모리, Heap메모리 (0) | 2024.08.12 |
---|---|
[java]출생년도, 12간지 , 날짜 출력하기,DateTimeFormater (0) | 2024.08.10 |
[java]성적 처리 프로그램 (Scanner사용) (0) | 2024.08.10 |
[java]-if문(조건 연산자),논리 연산자 처리 (0) | 2024.08.10 |
[java]연산자 (0) | 2024.08.10 |