2014-12-22 6 views
1

Я тестировал свой алгоритм в python, и он делает именно то, что я хочу, чтобы он делал. Теперь я просто хочу написать тот же код в java. Я сталкиваюсь с двумя проблемами. Один с линией 7 и один с строкой 8. Я хотел бы знать, почему я не обнаружен, хотя у меня есть int i внутри цикла for. Я принимаю Java в следующем семестре, поэтому извините, если это очень простая ошибка.java change value in for loop

public class HelloWorld{ 

public static void main(String []args){ 
    int[] a = {1, 0, 12, 11}; 
    int max = a[0]; 
    for (int i:a); { 
     if (max < i); { 
      max = i; 
     } 
    } 
System.out.print("max"); // if method is void, then cannot return value 
    } 
} 
+1

У вас есть что-то дополнительное здесь 'for (int i: a); {'и' if (max Pshemo

+2

Ваш for-loop ничего не делает. Если вы посмотрите внимательно, вы увидите, что вы написали 'for (int i: a);'. Это все, что он делает. Удалите полуколонну;) – Snicksie

+0

Просто заметьте, это также можно сделать, используя 'Collections.max (Arrays.asList (a));' –

ответ

8

Удалите замыкающие с запятой от заявлений for и if которые согласующие эти заявления

1

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

int[] a = { 1, 0, 12, 11 }; 
int max = a[0]; 
for (int i : a) { 
    if (i > max) { 
     max = i; 
    } 
} 
System.out.print(max); 
+0

«похоже, что вы на самом деле создали функцию min». Как их логика возвращает мин? –

+0

Вы правы, это не – ThisClark