2016-09-15 2 views
-1

다음과 같은 과제가 있습니다.자바 입력, 스캐너 및 if 문

아래와 같은 동작으로 ExamResult라는 전체 프로그램을 작성하십시오. 학생의 내부 시험 점수 및 최종 시험 점수에 대한 사용자 입력을 읽습니다.

20 점 미만의 내부 테스트 점수는 학생의 실력을 떨어 뜨립니다. 최종 시험 점수가 40 점 미만이면 학생도 실 패합니다.

그렇지 않으면 학생이 통과했습니다.

학기 시험 결과!

내부 테스트 점수는 무엇입니까? 21

최종 시험 점수는 무엇입니까? 69

당신이 통과했습니다!

지금까지 필자는 스캐너 용 입력 장치를 사용하여 if 문을 사용하는 것이 적절하다고 생각했습니다. 지금이 들어 내 코드입니다 내가 계산에 입력을 사용하는 방법이다 확실 해요 무엇

System.out.println("Semester Examination Results!"); 

    System.out.println("What is your internal test score?"); 

    //input 
    //calculate input 
    //does input pass the if test? 
    //output passed/failed 

    int score1 = scanner.nextLine(); 
    int score2 = scanner.nextLine(); 

    if (int score1 < 20; || score2 < 40;) 
    { 
    System.out.println("You have failed"); 
    } 
    else 
    { 
    System.out.println("You have passed"); 
    } 

를 (I 클래스, 수입 자바 폴더의 유틸리티 이상 주 메도가 않습니다. 나는 여기에 포함하지 않도록 선택)?

+2

if (int score1 <20; || score2 <40;)가 잘 끝나지 않습니다. ';'s와'int'를 제거하십시오. – Bathsheba

+0

초보자를위한 자바 자습서를 읽고 Stack Overflow에서 질문을 게시하는 것이 좋습니다. "잘 연구 된"기본 질문을하는 것이 좋습니다. – TheLostMind

+0

나는 내 책을 반복해서 읽고 연구하려고합니다. 그것은 매우 새롭고 쉽게 혼돈 스럽습니다. P –

답변

2

nextLine() 대신 scanner.nextInt()를 사용하십시오. if 문 안에 세미콜론도 필요하지 않습니다.

Edit1

if 문에 score1과 2를 다시 초기화 할 필요가 없습니다. 이들은 어떤 내용이 아니기 때문에이 조건에서이

Scanner scanner = new Scanner(System.in); 
//init and read in values here 
if(score1 < 20 || score2 < 40){ 
    //do stuff 
} 
else{ 
    //do other stuff 
} 
+0

오류 : 기호를 찾을 수 없습니다. int score2 = scanner.nextInt(); 스캐너 기호를 찾을 수 없습니다. 무엇을합니까? –

+0

@TinaDitte - '스캐너'를 선언/초기화하지 않았습니다. 'int score1' 전에'스캐너 sc = 새 스캐너 (System.in) '를 추가하십시오. – TheLostMind

+0

반영하려면 내 대답이 업데이트되었습니다. –

1
  • 제거 ;처럼 ahould. int도 삭제하십시오.

    if (int score1 < 20; || score2 < 40;) 
    

    는 같아야
    if (score1 < 20 || score2 < 40) 
    
  • 는 또한 정수 입력을내어 nextInt() 또는 Integer.parseInt(scanner.nextLine())를 사용한다.