這行:while(a != terval)
包含編譯錯誤。
int[] a
從未初始化,所以它有一個null
值循環開始時。
int[] a
是一個整數數組而int terval
是一個整數。條件a != terval
未定義,因爲您無法將int數組與int進行比較。
未定義比較:int[] != int
您可以在整數數組一個整數的數據進行比較單一整數
定義的比較:int[x] != int
這會工作:a[x] != terval
x
是你想檢查的數組索引
考慮一下這個版本:
public class Main{
public static void main(String[] args){
boolean go = true; //controls master loop
int modes;
int terval = -1;
int[]a;
while(go) { //master loop
a = IO.readInt[];
for(int i = 0; i < a.length; i++){
go &= !(a[i] == -1); //sets go to false whenever a -1 is found in array
//but the for loops do not stop until
//the array is iterated over twice
int count = 0;
for(int j = 0;j < a.length; j++){
if(a[j] == a[i])
count++;
}
modes = a[i];
}
}
System.out.println(count);
System.out.println(modes);
}
從控制檯獲取用戶輸入:當用戶進入
import java.util.Scanner;
public class Main{
public static void main(String[] args){
Scanner in = new Scanner(System.in);
boolean go = true;
int modes;
int count;
int size = 32; //max array size of 32
int terval = -1;
int t=0;
int i=0;
int[] a = new int[size];
while(go && i < size) { //master loop
t = in.nextInt();
go &= !(t == terval);
if (go) { a[i++] = t; }
}
// "a" is now filled with values the user entered from the console
// do something with "modes" and "count" down here
// note that "i" conveniently equals the number of items in the partially filled array "a"
}
}
程序結束-1。 – javaisjusttoohard