如何在处理中进行if语句验证?

时间:2015-11-15 08:30:34

标签: java arrays validation if-statement processing

我一直在努力工作几个小时,但我似乎无法找到解决方案。代码基本上是一个约会程序,当它运行时弹出一个框,'秘书'插入名称和病人的时间。但是,如果我将“Maria”置于“1200”并再次将“John”置于“1200”,系统将立即将John替换为John。我的代码如下:

String[] names = new String[2400];  // from 0:00 until 24:00

void setup()
{
  String name = "";
  do
  {
    name = input("Name");
    if (name.equals("ABORT")) { 
      System.exit(0);
    }  // end the program
    int time = int(input("Time code (e.g. 840 or 1200)"));
    names[time] = name;
    showAllNames();
  }
  while (true);   // loop never ends

}

void showAllNames()     // shows all the times where there is a name
{
  for (int t = 0; t < 2400; t=t+1)
  {
    String name = names[t];
    if (name!=null)
    {
      println(t + "\t" + name);
    }
  }  
  println("================");
}

public String input(String prompt)
{ 
  return javax.swing.JOptionPane.showInputDialog(null, prompt);
}

如何在写入之前添加一个if命令来检查位置是否为空 - 否则会警告用户?

1 个答案:

答案 0 :(得分:0)

在写入之前检查索引是否为null

if(names[time] == null){
    //Add the name
} else {
    //If the name isn't null, perhaps go to the next index, or throw an exception
}

如果名称为null,您想要做什么完全取决于您。

我想补充一些建议:

  • 将您的名称变量设为ArrayList,这样您就可以在不更改变量的情况下添加任意数量的名称。

  • 不要在循环中调用showAllNames()方法,而是在循环结束后调用它。

  • 使用普通索引而不是时间索引,这样您就不必进行空检查。