我正在尝试获取用户输入,但是我得到了
illegal start of expression
at:
public static String askTheUser() throws IOException
完整代码:
编辑:我已经完成了你们建议的大部分更改,所以现在我有了这个:
import java.io.BufferedReader;
public class Driver
{
public static void main(String[]args)
{
Dice dice;
Craps craps;
userResponse = askTheUser();
while(userResponse.equalsIgnoreCase("yes"))
{
craps = new Craps();
while(!craps.gameOver())
{
craps.roll();
//print out results of roll
}
//print out game results: if(craps.gameWon()...
userResponse.askTheUser();
}
}
public static String askTheUser() throws IOException
{
BufferedReader dataIn = new BufferedReader( new InputStreamReader(System.in) );
String data;
System.out.print("Want to play craps? Yes or No");
data = dataIn.readLine();
if(data.equals("y") || data.equals("yes"))
{
return "yes";
}
else
{
return "no";
}
}
}
但是我仍在cannot find symbol
获得public static String askTheUser() throws IOException
。那么我可能会错过一个我不知道的导入吗?
答案 0 :(得分:10)
您在主要方法中声明了askTheUser
方法。 rip it
取消主要方法。
public static void main(String[]args)
{
//code that goes inside main
}
public static String askTheUser() throws IOException
{
// code that goes in askTheUser
}
答案 1 :(得分:0)
您无法在Java
内的方法内写入方法。
但是你可以在同一个班级中有很多方法。
为什么呢?由于Java
规范......您根本不被允许这样做。
请注意,您可以使用其他方法下的anonymous inner class
方法。
答案 2 :(得分:0)
我不认为keyboard.readline()有效吗?
使用:
InputStreamReader converter = new InputStreamReader(System.in);
BufferedReader in = new BufferedReader(converter);
in.readLine(); // Convert to string or int needed!