以下是我的问题: “创建一个程序,跟踪用户输入的以下信息: 名字,姓氏,电话号码,年龄 现在 - 让我们将它存储在一个多维数组中,该数组将容纳10个这样的联系人。所以我们的多维数组需要10行4列。 您应该能够在阵列中添加,显示和删除联系人。 “ ** FixedThis(我坚持创建一个方法来回调并将用户输入输入到我的二维数组中。)
**新问题,我收到案例3的错误,我似乎无法返回打印显示的方法,有什么建议可以解决这个问题吗?
import java.util.Scanner; 公共课Lab2 { String [] [] myArray = new String [10] [4];
public static void main(String[]args)
{
new Lab2();
}
public Lab2()
{
Scanner input = new Scanner(System.in);
while(true)
{
System.out.println("Welcome to the Contact Directory, please select from following: ");
System.out.println("Type 1 to add contact, 2 to remove contact, 3 to display contacts and 0 to exit.");
int intChoice = input.nextInt();
input.nextLine();
String strFirstName;
String strLastName;
switch(intChoice)
{
case 1:
System.out.println("Enter First Name");
strFirstName = input.nextLine();
System.out.println("Enter Last Name");
strLastName = input.nextLine();
System.out.println("Enter Phone Number");
String strPhoneNumber = input.nextLine();
System.out.println("Enter Age");
String strAge = input.nextLine();
addItem(strFirstName, strLastName, strPhoneNumber, strAge);
break;
case 2:
System.out.println("Enter First Name to Remove");
strFirstName = input.nextLine();
System.out.println("Enter Last Name to Remove");
strLastName = input.nextLine();
removeItem(strFirstName, strLastName);
break;
case3:// GETTING AN ERROR UNREACHABLE STATEMENT
displayItems();
break;
case 0:
System.exit(0);
}
}
}
public void addItem(String strFirstName, String strLastName,
String strPhoneNumber, String strAge)
{
for(int i = 0; i < myArray.length; i++)
{
for(int j = 0; j < myArray[i].length; j++)
{
if (myArray[i][0] == null)
{
myArray[i][0] = strFirstName;
myArray[i][1] = strLastName;
myArray[i][2] = strPhoneNumber;
myArray[i][3] = strAge;
; break;
}
}
}
}
public void removeItem(String strFirstName, String strLastName)
{
int i, j;
for(i = 0; i < myArray.length; i++)
{
for(j = 0; j < myArray.length - 1; j++){
myArray[i][j] = myArray[i + 1][j];
break;
}
}
}
public void displayItems()
{
for(int i = 0; i < myArray.length; i++)
{
for (int j = 0; j < myArray[i].length; j++)
{
System.out.print(myArray[i][j] + " ");
}
System.out.println();
}
}
}
答案 0 :(得分:1)
您的提示应该是用于解决问题的代码。找到下一个可用的并添加它。
if (myArray[i][0] == null)
{
myArray[i][0] = strFirstName;
myArray[i][1] = strLastName;
myArray[i][2] = strPhoneNumber;
myArray[i][3] = strAge;
blnInserted = true;
break;
}
您不需要第二个循环,因为您只是根据名字检查整个条目是否为null
。在删除封闭的第二个循环后,应该在您混淆的部分添加代码。
此外,不需要null
之后的||
检查。如果它null
您无法检查相等性,那么这样做会需要一个不能null
的实例。