java变量无法解析出现的原因_不明白为什么这个变量无法解析为一个类型? (JAVA)...
我試圖為名為PegSwap的作業制作游戲。他們的游戲動態并不重要,但是" board"是一個有7個空格的板子。 3個紅色釘,3個藍色釘,在隨機位置,中間有一個空白點。我試圖做的就是隨機生成每個掛鉤的初始位置。這是我的代碼:
package game;
import java.util.List;
public class PegGame implements GameState {
//numbers corresponding to beg color to be used in list
private final int BLANK = 3;
private final int BLUE = 1;
private final int RED = 2;
//list that maintains peg at position i
private int[] pegs = new int[7];
//generates a randomized start state for the board
public int[] startState(){
int blues = 0;// how many blues have been added so far?
int reds = 0; //how many reds have been added so far?
pegs[3] = 3; //puts blank spot in the center
for(int i = 1; i<6; i++){
if(i == 3) break;
else if(blues < 3 && reds < 3) pegs[i] = (int) (Math.random()*2);
else{
if(blues == 3) pegs[i] = 2;
if(reds == 3)pegs[i] = 1;
}
}
return pegs;
}
問題是,我在&#39; startState&#39;中引用整數列表pegs。方法,(表示pegs[3] = 3的行)Eclipse給了我一個錯誤,說pegs是一個未解析的類型。如果我將它聲明為方法正上方的整數數組,為什么它沒有得到解決?我對pegs的任何其他引用都沒有收到錯誤。我想也許是因為pegs必須傳遞到startState,但這只會給我更多錯誤,說pegs必須是靜態的。有人可以幫忙嗎?
編輯:
難道真的是因為它是私人的嗎?這不僅僅意味著它無法在其他類中訪問嗎?我還必須編寫一個winState方法,對pegs的引用完全沒有錯誤,只是一個引用。
public int[] winState(){
for(int i=0; i<6; i++){
if(pegs[i] == 3) pegs[i] = 3;
if(pegs[i] == 2) pegs[i] = 1;
if(pegs[i] == 1) pegs[i] = 2;
}
return pegs;
}
總結
以上是生活随笔為你收集整理的java变量无法解析出现的原因_不明白为什么这个变量无法解析为一个类型? (JAVA)...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Hexo Next动态背景Canvas_
- 下一篇: 跨平台剪贴板同步工具盘点