테스트 사이트 - 개발 중인 베타 버전입니다

자바 메소드 출력에 관해 질문 드립니다.

혼솨마왕 3년 전 조회 2,228

import java.util.Scanner;

class Score{     String name;     int math;     int eng;     int kor;     int sum;      String result;          void print(String name, int math, int eng, int kor) {                  System.out.println(name + "의 수학 점수는 " +math+ "이며, 영어 점수는 "+ eng +"이고, 국어 점수는 "+kor+"입니다.");     }     void print(String name, int sum) {         System.out.println(name + "의 평균 점수는" + sum + "입니다.");     } } public class real tread {     public static void main(String args[]) {              Scanner sc = new Scanner(System.in);         Score myScore = new Score();         System.out.println("첫 번째 학생의 성적입니다.");         System.out.println("=====================");         System.out.println("이름을 입력하시오: ");         myScore.name = sc.next();         System.out.println("수학 성적을 입력하시오: ");         myScore.math = sc.nextInt();         System.out.println("영어 성적을 입력하시오: ");         myScore.eng = sc.nextInt();         System.out.println("국어 성적을 입력하시오: ");         myScore.kor = sc.nextInt();         myScore.sum = (myScore.math+myScore.eng+myScore.kor)/3;                               Score my1Score = new Score();         System.out.println("두 번째 학생의 성적입니다.");         System.out.println("=====================");         System.out.println("이름을 입력하시오: ");         my1Score.name = sc.next();         System.out.println("수학 성적을 입력하시오: ");         my1Score.math = sc.nextInt();         System.out.println("영어 성적을 입력하시오: ");         my1Score.eng = sc.nextInt();         System.out.println("국어 성적을 입력하시오: ");         my1Score.kor = sc.nextInt();         my1Score.sum = (my1Score.math+my1Score.eng+my1Score.kor)/3;                                    Score my2Score = new Score();         System.out.println("세 번째 학생의 성적입니다.");         System.out.println("=====================");         System.out.println("이름을 입력하시오: ");         my2Score.name = sc.next();         System.out.println("수학 성적을 입력하시오: ");         my2Score.math = sc.nextInt();         System.out.println("영어 성적을 입력하시오: ");         my2Score.eng = sc.nextInt();         System.out.println("국어 성적을 입력하시오: ");         my2Score.kor = sc.nextInt();         my2Score.sum = (my2Score.math+my2Score.eng+my2Score.kor)/3;                           System.out.println(" 성적부에서 탐색하고자 하는 학생의 이름을 입력하시오 ::");         myScore.result = sc.next();         my1Score.result = sc.next();         my2Score.result = sc.next();                  if (myScore.result.equals(myScore.name)) {             myScore.print(myScore.name, myScore.math, myScore.eng, myScore.kor);             myScore.print(myScore.name, myScore.sum);                  }            else if (myScore.result.equals(my1Score.name)) {               my1Score.print(my1Score.name, my1Score.math, my1Score.eng, myScore.kor);               my1Score.print(my1Score.name, my1Score.sum);                        }            else if (myScore.result.equals(my2Score.name)) {               my2Score.print(my2Score.name, my2Score.math, my2Score.eng, my2Score.kor);               my2Score.print(my2Score.name, my2Score.sum);            }                        else {               System.out.println("동일한 이름이 존재하지 않습니다. 다시 입력해 주세요!");            }                           }         }                         제가 출력하고자 하는 것은 세 학생의 이름 및 성적을 입력받고, 그 입력받은 것들 중 하나를 내뱉는 문장입니다. 그러나 위의 코드를 실행하면 성적부에서 탐색하고자 하는 학생의 이름을 입력하시오 :만 산출이 되고 출력문이 끝나버립니다. 어딜 수정해야 제가 원하는 답이 나올까요 

댓글을 작성하려면 로그인이 필요합니다.

답변 1개

마지막 else

else {               System.out.println("동일한 이름이 존재하지 않습니다. 다시 입력해 주세요!");            }

이 부분도 실행이 안 되나요?

 

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인