我的代码使用扫描仪创建一组运动结果,用户以这种格式输入输入"主队:客场球队:主场得分:客场得分" - 每个部分都被拆分为数组中的字符串。我想创建一个错误消息,如果缺少一个部分,例如"错误,主页团队似乎缺失"然而,对于每个相应的部分;
我是初学者,并已试图通过错误我收到(删除此令牌)的量把一个else,如果在for循环的条件,以帮助使这个错误讯息,但是我做错了什么判断< / p>
答案 0 :(得分:0)
您可以执行一些操作,例如使用if语句检查值。你可以这样说:
if(stringIsEmpty)
{
print ("Error");
}
else
{
/*Keep executing program*/
}
您还可以使用try / catch块。这可能会有所帮助,因为如果一个字符串为null(空),你可以抛出一个空指针异常并按照你想要的方式定义它,如下所示:
try
{
/*blank string code*/
}catch(NullPointerException e)
{
System.out.println("Empty strings are not allowed");
}
答案 1 :(得分:0)
此代码将帮助您的程序根据您的问题中的要求验证用户输入,如果用户错过了任何输入,则会向他报告:
import java.util.Scanner;
public class Test4 {
public static void ismissing(int i)
{
switch(i)
{
case 0:
System.out.println("Home team missing");
break;
case 1:
System.out.println("Away team missing");
break;
case 2:
System.out.println("Home score missing");
break;
case 3:
System.out.println("Away score missing");
break;
}
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("Input as follows; ");
System.out.println("Home team : Away team : Home score : Away score");
String str=scanner.nextLine();
String array[]=str.split(":");
for(int i=0;i<array.length;i++)
{
if(array[i].equals(" "))
{
ismissing(i);
System.exit(0); //will exit program if something is missing
}
}
System.out.println("Correct Input");
}
}
答案 2 :(得分:0)
如果您要创建大量游戏,我建议您创建一个@Override
public boolean onCreateOptionsMenu(Menu menu)
{
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.main_menu, menu);
return super.onCreateOptionsMenu(menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item)
{
switch (item.getItemId())
{
case R.id.changeCityID:
// Enter what you would like to do when user clicks on menu item
break;
}
类,因为这样可以更轻松地管理Game
对象,而不是2个字符串和2个整数值。使用Game
对象,您还可以使用Game
对象的toString
方法输出所需的字符串输出。获取用户输入时,我使用的标准是团队名称不能为空,团队分数不能小于0.如果用户输入并清空字符串或无效的整数,那么我们只输出一条消息,指示无效的输入和让用户再试一次,直到他们得到有效的输入。如果要在发生这种情况时退出,可以更改此选项以便在用户输入无效数据时正常退出程序。
我在main中创建了两个方法,一个用于获取有效的String团队名称,另一个用于获取有效的整数得分。再次,如果用户输入无效数据,我们将循环,直到输入有效。
游戏类:
Game
主要
public class Game
{
String homeTeam = "";
String awayTeam = "";
int homeScore = -1;
int awayScore = -1;
public Game(String inHomeTeam, int inHomeScore, String inAwayTeam, int inAwayScore)
{
super();
this.homeTeam = inHomeTeam;
this.awayTeam = inAwayTeam;
this.homeScore = inHomeScore;
this.awayScore = inAwayScore;
}
@Override
public String toString()
{
return homeTeam + "[" + homeScore + "] | " + awayTeam + "[" + awayScore + "]";
}
public String getHomeTeam() {
return homeTeam;
}
public void setHomeTeam(String homeTeam) {
this.homeTeam = homeTeam;
}
public String getAwayTeam() {
return awayTeam;
}
public void setAwayTeam(String awayTeam) {
this.awayTeam = awayTeam;
}
public int getHomeScore() {
return homeScore;
}
public void setHomeScore(int homeScore) {
this.homeScore = homeScore;
}
public int getAwayScore() {
return awayScore;
}
public void setAwayScore(int awayScore) {
this.awayScore = awayScore;
}
}
希望这有帮助!