无法找出为什么我的程序陷入无限循环
cannot find out why my program is stuck in an infinite loop
每当我尝试在 Directory 构造函数中迭代 while 循环时,Eclipse 控制台都不会输出任何消息。我在注释掉循环时尝试 运行 它,程序能够从 main 方法到达并打印介绍消息。我尝试为 while 循环使用另一个条件,例如 while(directoryposition
public class DirectoryServer {
public static void main(String[] args)
{
//Initiates Directory called UniversityName.txt***********
String DirectoryName = "UniversityDirectory.txt";
//String outFile = "tmp.txt";
Directory dir = new Directory(DirectoryName);
//Directory out = new Directory(outFile);
//*********************************************************
Scanner stdin = new Scanner(System.in);
//Introductory Message
System.out.println("Welcome to the program user\n");
System.out.println("The actions that can be taken are:\n");
System.out.println("find (Last Name)\nadd (UCID)\ndelete (UCID)\n");
System.out.println("What do you want to do?");
public class Directory {
final int max = 1024;
Person directory[] = new Person[max];//Create a directory of type Person
String position,UCID,first,last,major,email,dept,office;
Scanner inFile=null;
File outFile=null;
Scanner inFileData=null;
Scanner data=null;
Directory(String DirectoryFileName)//Constructor***************
{
try{
inFile = new Scanner(new FileInputStream(DirectoryFileName));
}
catch(FileNotFoundException e)
{
System.out.println("File not found exiting program\n");
System.exit(0);
}
int directoryposition=0;
while(inFile.hasNext());
{
data = new Scanner(inFile.nextLine());
position = data.next();
position=position.toLowerCase();
switch(position)//do something
您的 while 语句后有一个 ;
。循环到此结束。
while(inFile.hasNext());
尝试去掉分号;
:
while(inFile.hasNext());{...
收件人:
while(inFile.hasNext()){...
每当我尝试在 Directory 构造函数中迭代 while 循环时,Eclipse 控制台都不会输出任何消息。我在注释掉循环时尝试 运行 它,程序能够从 main 方法到达并打印介绍消息。我尝试为 while 循环使用另一个条件,例如 while(directoryposition
public class DirectoryServer {
public static void main(String[] args)
{
//Initiates Directory called UniversityName.txt***********
String DirectoryName = "UniversityDirectory.txt";
//String outFile = "tmp.txt";
Directory dir = new Directory(DirectoryName);
//Directory out = new Directory(outFile);
//*********************************************************
Scanner stdin = new Scanner(System.in);
//Introductory Message
System.out.println("Welcome to the program user\n");
System.out.println("The actions that can be taken are:\n");
System.out.println("find (Last Name)\nadd (UCID)\ndelete (UCID)\n");
System.out.println("What do you want to do?");
public class Directory {
final int max = 1024;
Person directory[] = new Person[max];//Create a directory of type Person
String position,UCID,first,last,major,email,dept,office;
Scanner inFile=null;
File outFile=null;
Scanner inFileData=null;
Scanner data=null;
Directory(String DirectoryFileName)//Constructor***************
{
try{
inFile = new Scanner(new FileInputStream(DirectoryFileName));
}
catch(FileNotFoundException e)
{
System.out.println("File not found exiting program\n");
System.exit(0);
}
int directoryposition=0;
while(inFile.hasNext());
{
data = new Scanner(inFile.nextLine());
position = data.next();
position=position.toLowerCase();
switch(position)//do something
您的 while 语句后有一个 ;
。循环到此结束。
while(inFile.hasNext());
尝试去掉分号;
:
while(inFile.hasNext());{...
收件人:
while(inFile.hasNext()){...