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

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

QA

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

본문

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("동일한 이름이 존재하지 않습니다. 다시 입력해 주세요!");
           }

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

 

답변을 작성하시기 전에 로그인 해주세요.
전체 123,532 | RSS
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT