【发布时间】:2015-04-16 16:05:03
【问题描述】:
我如何创建一个数组,允许用户在不同的时间间隔输入他们的名字。 目前,我需要一次输入所有名称以填充数组。并且在用名称填充数组时,一旦我选择将数据新名称输入到名称数组中,之前键入的信息就会消失。
我希望达到的目标: 1) 允许用户一次输入一个名称并返回主菜单,而不需要填写整个名称数组。
2) 输入第一个名字后,当我尝试在第二个间隔中键入另一个新名字时,我之前键入的现有名字仍然存在,第二个名字将存储在位置 2 而不是 1。
代码如下:
import java.util.Scanner;
import java.util.*;
public class test
{
public static void main(String[] args)
{
Scanner console = new Scanner (System.in);
int[] values = new int[3];
int[] pNumber= new int[3];
String[] name= new String[3];
//double[] height= new double[25];
//double[] weight=new double[25];
char choose;
do
{
displayMenu();
String choice=console.nextLine();
choose=choice.charAt(0);
switch(choose)
{
case '1' : queuePatient(pNumber,name);
//case '1' : queuePatient(studentNumber,name,height,weight);
break;
/*case '2' : callNextPatient(pNumber,name);
break;
case '3' : listPatients(pNumber,name);
break;
case '4' : searchPatient(pNumber,name);
break; */
case '0' : System.out.println("Exit");
break;
default : System.out.println("Invalid");
break;
}
}while(choose!='0');
System.exit(0);
}
private static void displayMenu()
{
System.out.println("\n Menu: ");
System.out.println("1. Queue a Patient: ");
System.out.println("2. Call Next Patient: ");
System.out.println("3. List Patients in Queue: ");
System.out.println("4. Search A Patient's Queue Position ");
System.out.println("0. Exit ");
System.out.print("Enter your choice: ");
}
private static void queuePatient(int[] pNumber,String[] name)
{
Scanner kb = new Scanner (System.in);
for(int i = 0 ;i <= 3;i++)
{
if(i==3){
System.out.println("Queue is full.");
break;
}
System.out.println("Patient Number " + (i+1));
System.out.print("Enter the Patient Name: \n");
name[i] = kb.nextLine();
System.out.println(Arrays.toString(name));
break;
}
}
}
/*
private static void callNextPatient(String[] pNumber,String[] name)
{
System.out.println("S/No " + "Queue No " + "Patient Name \t \t \t" );
for(int n=0;n<25;n++)
{
if(!pNumber[n].equals("END"))
{
System.out.println((n+1) +"\t"+ pNumber[n] +"\t" + name[n]+"\t"+ "\t"+ "\t");
}
else
break;
}
private static void listPatients(String[] pNumber,String[] name)
{
System.out.println("S/No " + "Queue No " + "Patient Name \t \t \t" );
for(int n=0;n<25;n++)
{
if(!pNumber[n].equals("END"))
{
System.out.println((n+1) +"\t"+ pNumber[n] +"\t" + name[n]+"\t"+ "\t"+ "\t");
}
else
break;
}
}
private static void searchPatient(String[] pNumber,String[] name)
{
System.out.println("S/No " + "Queue No " + "Patient Name \t \t \t" );
for(int n=0;n<25;n++)
{
if(!pNumber[n].equals("END"))
{
System.out.println((n+1) +"\t"+ pNumber[n] +"\t" + name[n]+"\t"+ "\t"+ "\t");
}
else
break;
}*/
【问题讨论】:
标签: java arrays sorting multidimensional-array arraylist