вопрос базового массива Java - PullRequest
0 голосов
/ 28 февраля 2011
List[K] = new Station(Location, Temp, Name);

В одном методе я ввожу значения для Location и Name. В более позднем методе я хотел бы пройтись по каждой локации и назначить уникальный темп.

       public void Post() 
{
     double Temp = 0;
     int K;
     for(K = 0; K < Count ; K++)
     System.out.print(" " + List[K].GetLocation() + ": ");
     System.out.println("Enter Temperature");
     Temp = Input.nextDouble();

}

Это просто сбрасывает все местоположения и после этого запрашивает температуру и принимает ее. Но температура даже не присваивается последнему значению в массиве.

Ответы [ 3 ]

1 голос
/ 28 февраля 2011

Это то, что вы хотели бы сделать?Распечатать каждое место в списке и запросить умеренный от пользователя?

   public void Post() 
{
 double Temp = 0;
 int K;
 for(K = 0; K < Count ; K++)
 {  
  System.out.print(" " + List[K].GetLocation() + ": ");
  System.out.println("Enter Temperature");
  Temp = Input.nextDouble();
 }
}
1 голос
/ 28 февраля 2011

Почему Temp инициализируется в первой строке? Почему в последней строке задание? Это не имеет никакого эффекта.

Почему вы объявляете K вне цикла? Codeconventions запрашивает строчные буквы для атрибутов, параметров, переменных и методов.

  list[k] = new Station (location, temp, name);
// 

public void post () 
{
     for (int k = 0; k < count; k++)
         System.out.print (" " + list[k].getLocation () + ": ");
     System.out.println ("Enter Temperature");
     double Temp = Input.nextDouble ();
}

В одном методе я ввожу значения для Location и Name. В более позднем методе я хотел бы пройтись по каждой локации и назначить уникальный темп.

Что ж, вы проходите через станции, а не через места, не так ли?

Но температура даже не присваивается последнему значению в массиве.

Какой массив? Массив называется списком? Вы никогда не назначаете временную температуру чему-то, не так ли?

У вас есть сеттер на станции? Это атрибут записи?

list[count-1].setTemp (temp); // or 
list[count-1].temp = temp; 

может помочь.

1 голос
/ 28 февраля 2011

Положите фигурные скобки вокруг тела для петли.

public void Post() 
{
     double Temp = 0;
     int K;
     for(K = 0; K < Count ; K++) {
         System.out.print(" " + List[K].GetLocation() + ": ");
         System.out.println("Enter Temperature");
         Temp = Input.nextDouble();
     }
}

Кстати, вы должны прочитать стандартные соглашения Java .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...