我正在嘗試設置船上的字段,但有些東西是不正確的與我的代碼。它說錯誤:表達式的非法啓動公共最終靜態int = schlachtschiff
illegal start of expression
對於public final static int= schlachtschiff
。
我想防止無效輸入。我用了一些while
循環,但我不確定它是否覆蓋它。
但首先我需要讓程序運行。
public class setship{
static char[][] attacker = {
{ '.', '.', '.', '.', '.', '.', '.', '.', '.', '.' },
{ '.', '.', '.', '.', '.', '.', '.', '.', '.', '.' },
{ '.', '.', '.', '.', '.', '.', '.', '.', '.', '.' },
{ '.', '.', '.', '.', '.', '.', '.', '.', '.', '.' },
{ '.', '.', '.', '.', '.', '.', '.', '.', '.', '.' },
{ '.', '.', '.', '.', '.', '.', '.', '.', '.', '.' },
{ '.', '.', '.', '.', '.', '.', '.', '.', '.', '.' },
{ '.', '.', '.', '.', '.', '.', '.', '.', '.', '.' },
{ '.', '.', '.', '.', '.', '.', '.', '.', '.', '.' },
{ '.', '.', '.', '.', '.', '.', '.', '.', '.', '.' }
};
public static void print(char[][] grid) {
System.out.println("");
String[] myArray = new String[]{"A", "B", "C", "D", "E",
"F", "G", "H", "I", "J"};
for (int i = 0; i < myArray.length; i++) {
System.out.print(myArray[i]);
for (int j=0; j<10; j+=1) {
System.out.print(grid[i][j]);
if(j == 9) {
System.out.println();
}
}
System.out.println();
}
}
public static void main(String[] args){
Scanner s = new Scanner(System.in);
System.out.println("Where do you want to place your ship?");
int row, col;
public final static int schlachtschiff = 1 ;
//public final static in = 2;
//public final static in Zerstoerer = 3;
//public final static in Uboote = 4;
while(col<0 & col>10 && row<0 & row>10){
System.out.print("Try again.");
row = s.nextInt();
col = s.nextInt();
while (attacker[row][col]= '#'){
System.out.print("Try again.Already an ship there.");
row = s.nextInt();
col = s.nextInt();
}
}
for(schlachtschiff=1; schlachtschiff != 0; schlachtschiff++){
System.out.println("Col: ");
col = s.nextInt();
System.out.println("row: ");
row = s.nextInt();
String position;
System.out.println("Position (l),(r),(o), (u): ");
position = s.next();
if(position.equals("l")){
for(int i =0; i<5; i++){
attacker[row-i][col] = '#';
}
}
else if(position.equals("r")){
for(int i =0; i<5; i++){
attacker[row+i][col] = '#';
}
}
else if(position.equals("o")){
for(int i =0; i<5; i++){
attacker[row][col+i] = '#';
}
}
else if(position.equals("u")) {
for(int i =0; i<5; i++){
attacker[row][col-i] = '#' ;
}
}
else{
return;
}
print(attacker);
}
}
你覺得呢'public'和'static'的影響將是一個方法內聲明的變量? – resueman
另一個提示:所有的'public final static int'變量都應該聲明爲類變量。 – CubeJockey
或者將它們保存在主要方法中,但刪除'public'和'static'。 – gonzo