【发布时间】:2014-05-14 11:18:54
【问题描述】:
用户输入一个猜测,它最初是一个字符串,现在我试图将该字符串转换为一个整数数组,错误是说我无法进行非静态引用。我不想将“userGuess”变量设为静态,还有其他选择吗?
播放器类
import java.util.Scanner;
public class Player
{
public int fastestWin, gamesCompleted=1;
public String name, setName;
public String userGuess;
Scanner keyboard = new Scanner(System.in);
public String getName()
{
System.out.print("Enter the player's name: ");
return name = keyboard.nextLine();
}
public void setName()
{
getName();
setName = name;
}
public String askForGuess()
{
System.out.print("Enter your guess: ");
return userGuess = keyboard.nextLine();
}
public void gamesCount()
{
gamesCompleted++;
}
}
引擎类
import java.util.Random;
import java.util.Scanner;
public class Engine
{
public int numDigits, numDigitsSet;
public int i;
public int[] secretNumber, userGuessArray;
public Random randomNumberGenerator;
public String guessConvert = Player.userGuess; //Made new variable 'guessConvert'
//getting error here for static reference
Scanner sc = new Scanner(System.in);
public void setNumDigits()
{
numDigitsSet = numDigits;
}
public int getNumDigits()
{
System.out.print("Enter the number of digits to use: ");
return numDigits = sc.nextInt();
}
public void generateNewSecret()
{
Random rand = new Random();{
for (int i=0; i<numDigitsSet; i++)
{
secretNumber[i]= rand.nextInt(10);
System.out.println("" + secretNumber[i]);
}
}
}
public int[] getSecretNumber()
{
for (int j=0; j<secretNumber.length; j++)
{
System.out.println("" + secretNumber[j]);
}
return secretNumber;
}
public void convertNumtoDigitArray(String guessConvert) //Trying to convert guessConvert into an array
{
String[] userGuessSplit = guessConvert.split(",");
int[] userGuessArray = new int[userGuessSplit.length];
for (int j=0; j<userGuessSplit.length; j++)
{
userGuessArray[j] = Integer.parseInt(userGuessSplit[j]);
}
}
}
【问题讨论】:
-
请发帖
Player类。 -
数组guessConvert是否只包含逗号分隔的整数?
-
@ShreyosAdikari 是的先生!
标签: java arrays string methods int