2013-04-26 145 views
0

我想知道如何將鍵盤輸入並將其保存爲變量,以便我可以將其與下面的代碼一起使用。將鍵盤輸入保存爲變量

代碼:

public void readMaze(){ 
    Scanner reader = null; 
    try {   
     reader = new Scanner(new FileReader("Maze.txt")); 
     colSize = reader.nextInt(); 
     rowSize = reader.nextInt(); 
     finishRow = reader.nextInt(); 
     finishCol = reader.nextInt(); 
     startRow = reader.nextInt(); 
     startCol = reader.nextInt(); 

而不必「Maze.txt」我希望有一個變量存在,可以改變我每次運行程序的時候,所以我不會有繼續編輯程序的時候我的想要使用不同的文件。

回答

2

您可以使用掃描儀本身獲取文件名:

System.out.println("Please input the file name to use: "); 
Scanner reader = new Scanner(System.in); 
String fileName = reader.next(); 

然後用你的方法繼續進行像往常一樣,重新使用一個新的掃描儀對象相同的掃描儀變量,這次傳遞的文件名,你捕獲早期版本:

try {   
    reader = new Scanner(new FileReader(fileName)); 
    ... 
} 

使用此功能,您可以在程序運行時動態更改文件名。

+0

非常感謝您的幫助。 – Jaylon253 2013-04-28 15:12:03

1

我可能會使用的命令行參數:

public static void main(String[] args) 
{ 
    final String mazeFilename = args[0]; // perhaps check if args.length > 0 
    ... 
} 

然後

java YourPrgm Maze.txt 
1

您可以嘗試通過控制檯掃描它們並將它們從字符串更改爲整數。

public static void main(String[] args) { 

    int colSize, rowSize, finishRow, finishCol, startRow, startCol = 0; 

    // note, through console 

    Scanner in = new Scanner(System.in); 

    System.out.print("Enter colSize:"); 
    colSize = Integer.parseInt(in.nextLine()); 

    System.out.print("Enter rowSize:"); 
    rowSize = Integer.parseInt(in.nextLine()); 

    System.out.print("Enter finishRow:"); 
    finishRow = Integer.parseInt(in.nextLine()); 

    System.out.print("Enter finishCol:"); 
    finishCol = Integer.parseInt(in.nextLine()); 

    System.out.print("Enter startRow:"); 
    startRow = Integer.parseInt(in.nextLine()); 

    System.out.print("Enter startCol:"); 
    startCol = Integer.parseInt(in.nextLine()); 
    } 
}