2014-09-24 29 views
-2

我得到這個錯誤:不兼容的類型
k0 =(i == 0 * 2);
.........^不兼容的類型很簡單

import 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'值。 – 2014-09-24 10:04:50

+0

當然,編輯了正確的解決方案。 – 2014-09-24 10:07:25

0

你忽略了一點

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

所以k0 mush是boolean。你可以使用boolean而不是int

+0

現在我已經完成了,但是現在我得到了二元運算符'+'的錯誤差操作數類型produkt = k0 + k1 + k2 + k3 + k4 + k5 + k6 + k7 + k8 + k9; – Marc 2014-09-24 10:06:41

+0

@Marc你不能用'boolean'來使用'+','-'。 make'produkt'' boolean'並使用'&&(AND)'或'||(OR)' – 2014-09-24 10:09:10