Ошибка компиляции: недопустимый тип 'void' - PullRequest
1 голос
/ 19 апреля 2011

Как я могу устранить этот тип ошибки компиляции.

Жирная часть - это место, где отображается ошибка компиляции.

DegreeDays.java:71: 'void' type not allowed here
        System.out.println(***"\t"***(error here) +
            list(test[counter]) + "\t\t\t" + 
            average_temp(test[counter], test[counter - 1]));

DegreeDays.java:71: 'void' type not allowed here
        System.out.println("\t" + list(test[counter]) ***+
            ***(error here) "\t\t\t" + 
            average_temp(test[counter], test[counter - 1]));

Ответы [ 4 ]

4 голосов
/ 19 апреля 2011

Представьте себе:

void foo() {
  // doesn't matter
}

System.out.println("" + foo()); // What should happen here?

Ответ: взорваться - и это то, что правильно делает javac.Метод foo имеет "тип результата void" (none, nada, zilch).Объект не возвращен.Когда-либо.Даже не ноль.«Ничего» нет, и компилятор откажется пытаться использовать «ничто» как «что-то».

(метод с «типом результата void» отличается от метода, который может return null - например, тип возвращаемого значения - Object - у такого метода все еще есть тип результата "не void".)

Счастливое кодирование.

0 голосов
/ 19 апреля 2011

вы пытаетесь напечатать метод return Nothing (void).

Я думаю, что это list() метод проверки, если он вернет string или void ..

, есливернуть void вы должны удалить его из метода println ..

0 голосов
/ 19 апреля 2011

System.out.print() нужно что-то показать.Поэтому, если вы напишите в нем какой-либо метод void, который ничего не даст, он покажет ошибку.

Итак, в вашем коде:

System.out.println("\t" + list(test[counter]) + "\t\t\t" + average_temp(test[counter], test[counter - 1])); 

Я думаю, average_temp имеет типvoid.

0 голосов
/ 19 апреля 2011

Скорее всего, list и average_temp не возвращают string.

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