코딩왕이되쟈
120
2018-05-17 22:47:19
12
294

자바 질문 도와주세요..



import java.util.Scanner;
public class iu123123  {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		System.out.println("아이유와 데이트를 할수있습니다 무엇을 하시겠습니까?");
        System.out.println("1.pc방  2.헬스 3.도서관 4.노래방");
        
		int a;
		a = sc.nextInt();
		
		if(a==1) {System.out.println("피시방을 선택하셨습니다 무슨 게임을 하시겠어요?");
				  System.out.println("1.롤 2.서든어택 3.배틀그라운드 4.피파온라인");
		}
		
		if(a==2) {{System.out.println("헬스를 선택 하셨습니다 무슨운동을 할까요? ");
		          System.out.println("1.어깨 2.가슴 3.등 4.숨쉬기");
		}
		
		int b;
		b = sc.nextInt();
		if(b==1) {System.out.println("어깨를 선택하셨습니다 운동강도");
		          System.out.println("1.강 2.중 3.약");
		          
		}
		int c;
		c = sc.nextInt();
		if(c==1) {System.out.println("너무 힘들다고 하네요 ");}
		          System.out.println("다른 강도를 선택해주세요 1.중 2.약");
		          
		          
		int d;
		d = sc.nextInt();
		if(d==1) {System.out.println("중을 선택하셨습니다");}
		          System.out.println("힘들다고 하네요 약을선택"); 
		         
		if(d==2)System.out.println(2);
		         
		         
		if(c==2) {System.out.println(2);}
		if(c==3) {System.out.println(3);}
		
	
		
		
		
		
		
		
		if(b==2) {System.out.println("가슴을 선택했습니다");
		           System.out.println("실패 하였습니다");
		}
		if(b==3) {System.out.println("등을 선택했습니다");
		          System.out.println("실패하였습니다");
		}
		if(b==4) {System.out.println("숨쉬기를 선택하였습니다");
			      System.out.println("-숨쉬기운동하는중-");
			      System.out.println("후............");
			      System.out.println("후............");
			      System.out.println("후............");
			      System.out.println("후............");	
			      System.out.println("후............");	
			      System.out.println("후............");	
			      System.out.println("후............");	
			      System.out.println("후............");	
			      System.out.println("후............");	
			      System.out.println("     끝        ");
			      System.out.println("아이유가 마음에 들어하는거같습니다 성공입니다!!");}
			      			      
		
		
		if(a==3) {System.out.println("독서를 선택하셨습니다 무슨책을 같이 읽을까요?");
			      System.out.println("1.소설 2.판타지 3.수필 4.공상과학");
		}
		
		
		
		}
		
		
		
		
		
		if(a==4) {System.out.println("노래방을 선택하셨습니다 무슨 노래를 부를까요?");
			
		}
			

			
		}

	}
 여기서 제가 콘솔창으로 실행시켰을때 2.헬스 선택 1.어깨선택 1.강선택 2.약선택을 했을시에 if(d==2에) "올바른 선택입니다" 이것만 나타나야되는데 1.중을선택 했을시에나오는 "힘들다고하네요 약을선택" 이것까지나오는데 어떻게해결하나요 자세히설명부탁드려요 ㅠㅠㅠ
0
0
  • 답변 12

  • javaing
    1k
    2018-05-18 03:55:06

    메모장으로 코딩하고 계신가요?

    if(d==1) {System.out.println("중을 선택하셨습니다");}
    		          System.out.println("힘들다고 하네요 약을선택"); 

    {}의 위치를 잘 보세요.

    만약 eclipse 사용중이시라면 ctrl+shift+f 로 자동 정렬 하시면 보기가 편합니다. 지금 작성하신 코드는 {와 }를 일일이 맞추어보지 않는 이상 한눈에 파악할수 없는 코드입니다

    0
  • 코딩왕이되쟈
    120
    2018-05-18 07:42:02

    코드를 어떻게써야지 제가 하고자하는 느낌으로 코딩 잘될까요..

    0
  • 그징그징
    190
    2018-05-18 09:15:09 작성 2018-05-18 09:16:34 수정됨

    코드 본인이 봤을때

    {} 블록 구분이 잘되시나요?

    정렬을 한번하고하심이 어떨까요


    간단한 예제라도 변수명은 알아볼수있게 이름 짓는 것이 좋습니다!

    0
  • ShipJH
    446
    2018-05-18 09:48:17 작성 2018-05-18 09:48:38 수정됨

                    int a;

    a = sc.nextInt();

    if(a==1) {System.out.println("피시방을 선택하셨습니다 무슨 게임을 하시겠어요?");

      System.out.println("1.롤 2.서든어택 3.배틀그라운드 4.피파온라인");

                         --생략---

    }

                    if(a==2) {{System.out.println("헬스를 선택 하셨습니다 무슨운동을 할까요? ");

              System.out.println("1.어깨 2.가슴 3.등 4.숨쉬기");

                                 int a1 = sc.nextInt(); 

                                  if(a1==1){

                                          System.out.println("어깨를 선택하셨습니다 운동강도");

                          System.out.println("1.강 2.중 3.약");

                                    }else if(a1 ==2){

                                          System.out.println("가슴을 선택하셨습니다 운동강도");

                          System.out.println("1.강 2.중 3.약");

                                    }

    ...............등등등                      --생략---

    }






    if안에 if넣어서 하고 

    공통적으로 강중약 같은 공통적인 행위들은

    메서드하나 빼서 호출하셔서 리턴받는건 어떠세요 

    0
  • 코딩왕이되쟈
    120
    2018-05-18 10:01:47

    jh님 죄송하지만 좀더 자세하게 설명 가능할까요..??

    0
  • ShipJH
    446
    2018-05-18 10:13:13 작성 2018-05-18 10:13:37 수정됨

    1번째 질문에 int a란 변수로 제어하자. ( 첫번째 뎁스)

    1번째 질문 이후 2번째 질문에 int a1 란 변수로 제어하자 ( 두번째 뎁스 )

    2번째 질문 이후에 3번째 질문에 int a2 란 변수로 제어하자 ( 세번째 뎁스 )


    이때 공통적인 질문이나 행위들은 리턴받을 수 있는 메서드를 만들어 호출해서 값을 가져오자.


    요런식으로 해보세요... 


    0
  • minarai
    318
    2018-05-18 10:22:24

    2는 중선택으로 나와있는데요... 뭔가 하고싶으신 의도가 와닿지가 않네요


    변수명은 알파벳보다는 직관적으로 하는게 처음에 도움 되실거에요

    0
  • 코딩왕이되쟈
    120
    2018-05-18 10:27:35

    s

    import java.util.Scanner;
    public class asda  {
    
    	public static void main(String[] args) {
    		Scanner sc = new Scanner(System.in);
    		System.out.println("아이유와 데이트를 할수있습니다 무엇을 하시겠습니까?");
            System.out.println("1.pc방  2.헬스 3.도서관 4.노래방");
            
    		int a;
    		a = sc.nextInt();
    		
    		if(a==1) {System.out.println("피시방을 선택하셨습니다 무슨 게임을 하시겠어요?");
    				  System.out.println("1.롤 2.서든어택 3.배틀그라운드 4.피파온라인");
    		}
    		
    		if(a==2) {System.out.println("헬스를 선택 하셨습니다 무슨운동을 할까요? ");
    		          System.out.println("1.어깨 2.가슴 3.등 4.숨쉬기");
    		}
    		
    		int a1;
    		a1 = sc.nextInt();
    		if(a1==1) {System.out.println("어깨를 선택하셨습니다 운동강도");
    		          System.out.println("1.강 2.중 3.약");
    		          
    		}
    		int c;
    		c = sc.nextInt();
    		if(c==1) {System.out.println("너무 힘들다고 하네요 ");}
    		          System.out.println("다른 강도를 선택해주세요 1.중 2.약");
    		          
    		          
    		int d;
    		d = sc.nextInt();
    		if(d==1) {System.out.println("중을 선택하셨습니다");}
    		          System.out.println("힘들다고 하네요 약을선택"); 
    		         
    		if(d==2)System.out.println(2);
    		         
    		         
    		if(c==2) {System.out.println(2);}
    		if(c==3) {System.out.println(3);}
    		
    	
    		
    		
    		
    		
    		
    		
    		if(a1==2) {System.out.println("가슴을 선택했습니다");
    		           System.out.println("실패 하였습니다");
    		}
    		if(a1==3) {System.out.println("등을 선택했습니다");
    		          System.out.println("실패하였습니다");
    		}
    		if(a1==4) {System.out.println("숨쉬기를 선택하였습니다");
    			      System.out.println("-숨쉬기운동하는중-");
    			      System.out.println("후............");
    			      System.out.println("후............");
    			      System.out.println("후............");
    			      System.out.println("후............");	
    			      System.out.println("후............");	
    			      System.out.println("후............");	
    			      System.out.println("후............");	
    			      System.out.println("후............");	
    			      System.out.println("후............");	
    			      System.out.println("     끝        ");
    			      System.out.println("아이유가 마음에 들어하는거같습니다 성공입니다!!");}
    			      			      
    		
    		
    		if(a==3) {System.out.println("도서관을 선택하셨습니다 무슨책을 같이 읽을까요?");
    			      System.out.println("1.소설 2.판타지 3.수필 4.공상과학");
    		}
    		
    		
    		
    		
    		
    		
    		
    		
    		
    		if(a==4) {System.out.println("노래방을 선택하셨습니다 무슨 노래를 부를까요?");
    			
    		}
    			
    
    			
    		}
    
    	}

    ShipJH님 말씀하신대로 했는데  근데 다른문제가 있습니다 여기서 맨처음에 도서관을 선택하게되면 

    "도서관을선택 ~ 읽을까요?" 가나와야되는데 아무것도 뜨질않네요 왜그럴까요..??ㅜ

    0
  • minarai
    318
    2018-05-18 10:31:34

    도서관선택 스캐너 조건문의 괄호를 보세요... 밖으로 빼셔야할듯싶네요

    0
  • ShipJH
    446
    2018-05-18 10:58:46

    제가 하란데로 하신게 아닌데요....


    0
  • 코딩왕이되쟈
    120
    2018-05-18 12:51:28

    ㅠㅠㅠ 제가 이해가안갔나봐요

    0
  • 코딩왕이되쟈
    120
    2018-05-18 19:07:30
    shipjh 님 혹시 좀더 가르쳐주실수있나요??..
    0
  • 로그인을 하시면 답변을 등록할 수 있습니다.