2014-11-11 3 views
0

안녕하세요. 어쨌든 저는 교수님이 코딩 문제에 약간의 혼란을 겪었습니다. "오류 : 도달 할 수없는 문장 RainFall ds = new RainFall(months);"이 계속 나타납니다. 지금 당장은 코드가 작성되지 않은 상태이며, 코드를 수정하려고 할 때 코드를 계속 악화 시켜서 사전에 사과드립니다. 어쨌든 여기에 문제와 코드가 있습니다.배열을 전달할 때 약간의 문제가 있습니다.

쓰기 12 개월마다 총 강우량을 복식 배열에 저장하는 Rainfall 클래스입니다. 이 프로그램은 다음을 반환 할 방법이 있어야합니다

가장 비 달 이상과 비

과 함께 달에 입력 (12 개) 값을 사용자에게 물어 년 월 평균 강수량의 총 강우량 당신의 본관. Rainfall 클래스에 mutator 메소드를 작성하여 double 값의 배열에 값을 추가하십시오. 주 전체는 Rainfall 클래스의 메소드를 호출하여 합계/평균/최대/최소를 가져와 표시해야합니다. 전체 프로그램에서 수업을 시연하십시오. 당신이 무한 루프를 가지고 있기 때문에

import java.util.Scanner; 
public class Hw5pr1 
{ 
    public static void main(String[] args) 
    { 
     Scanner rain = new Scanner(System.in); 
     double[] months = new double[12]; 
     for (int a = 0; 0<12; a++) 
     { 
      months[a]=rain.nextDouble(); 
      System.out.println(months[a]); 
     } 
     RainFall ds = new RainFall(months); 
    } 
} 


public class RainFall 
{ 
    private double month; 
    private double[] months1; 
    private double average; 
    private double largest; 
    private double smallest; 

    public RainFall(double[] months) 
    { 
     for (int b=0; b<12; b++) 
     { 
      months[b]=months1[b]; 
     } 
    } 


    public double total() 
    { 
     for (int a=0; a<11; a++) 
     { 
      double month = months1[a]+month; 

     } 
     return month; 
    } 
    public double average() 
    { 
     average=month/12; 
     return average; 
    } 
    public double largest() 
    { 
     double largest = months1[0]; 
     for (int a=0; a<1; a++) 
     { 
      if (months1[a]>largest) 
      { 
       largest = months1[a]; 
      } 
     } 
    } 
    public double smallest() 
    { 
     double smallest = months1[0]; 
     for (int a=0; a<1; a++) 
     { 
      if (months1[a]<smallest) 
      { 
       smallest = months1[a]; 
      } 
     } 
    } 
} 

답변

3

을 (월 강수량 수치에 음수를 허용하지 마십시오) :

//    vvvvvv 
for (int a = 0; 0 < 12; a++) 
{ 
} 
RainFall ds = new RainFall(months); 

컴파일러는 항상 true가됩니다 0 < 12을 결정할 수있다. 루프는 도달 할 수 없으므로 아무 것도 종료하지 않습니다. 나는 당신이 a < 12을 의미했다고 생각합니다.

+0

감사! 하 캔트는 내가 지금 일하는 모든 것을 놓쳤다 고 믿었습니다. – kerus

+0

도와 드리겠습니다. 내 대답이 도움이된다면, [수락 할 수 있습니다] (http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work). – Radiodef

관련 문제