2014-09-24 4 views
-2

Im получение этой ошибки: несовместимые типы
k0 = (i == 0 * 2);
.........^Несовместимые типы очень простые

импорт java.util.Scanner; pers5 общественного класса {

public static void main(String[] args) { 

int k0,k1,k2,k3,k4,k5,k6,k7,k8,k9; 
int produkt; 

System.out.print("ange ett personnummer: "); 
String indata = new Scanner(System.in).nextLine(); 
for (int i=0; i<10; i++){ 
    int nummer=indata.charAt(i) -48; 
     System.out.print(indata.charAt(i)+ " "); 
     System.out.println(indata.charAt(i)); 
//this code has lots of stuff between these two but its irrelevant. 
k0= (i==0 * 2); 
k1= (i==1 * 1); 
k2= (i==2 * 2); 
k3= (i==3 * 1); 
k4= (i==4 * 2); 
k5= (i==5 * 1); 
k6= (i==6 * 2); 
k7= (i==7 * 1); 
k8= (i==8 * 2); 
k9= (i==9 * 1); 
produkt= k0+k1+k2+k3+k4+k5+k6+k7+k8+k9; 

ответ

1

i==0 и последующие вызовы возвращают логическое значение, поэтому он не может быть назначен на k0, поскольку он имеет тип int

+0

Это не тот случай, когда 'i == 0 * 2' станет' boolean' значением. –

+0

Конечно, отредактировали правильное решение. –

0

Вы пропустили точку

k0 = (i == 0 * 2); // i == 0 * 2 resulting a boolean 

Так k0 mush be a boolean. Вы можете использовать boolean вместо int

+0

Ive сделал это сейчас, но теперь я получаю неправильные типы ошибок для двоичного оператора '+' produkt = k0 + k1 + k2 + k3 + k4 + k5 + k6 + k7 + k8 + k9; – Marc

+0

@Marc вы не можете использовать '+', '-' с' boolean'. make 'produkt'' boolean' и использовать '&& (AND)' или '|| (OR)' –

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