2014-11-11 2 views
0

Привет, я новичок в кодировании, так как мой профессор назначил нам проблему, которую я немного смутил. Я продолжаю получать сообщение об ошибке: unreachable RainFall ds = new RainFall(months); ". Прямо сейчас мой код не завершен, и это может не иметь никакого смысла, я продолжал ухудшаться, пытаясь исправить его, поэтому заранее извинюсь. в любом случае здесь возникает проблема и кодИмея некоторые проблемы с передачей массива

Напиши класс Rainfall, который хранит общее количество осадков за каждый из 12 месяцев в массив двухместных. Программа должна иметь методы, которые возвращают следующее:

Общее количество осадков за год Среднемесячная осадков месяц с большинством дождя месяц с наименьшим дождем

Попросите пользователя ввести 12 значений в главный. Напишите метод mutator в классе Rainfall, чтобы добавить значения в ваш массив удвоений. Ваш основной должен вызывать методы класса 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); 

Компилятор способен определить 0 < 12 всегда будет истинным. Цикл никогда не прекратится так, как только он будет недоступен. Думаю, вы имели в виду a < 12.

+0

Спасибо! Хаант верил, что я пропустил, что у меня все работает сейчас. – kerus

+0

Рад помочь. Если вы нашли мой ответ полезным, вы можете [принять его] (http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work). – Radiodef

Смежные вопросы