2012-01-26 11 views
0

我想要做的就是對所有我的掃描儀輸入使用字符串變量。Java簡單的程序使用相同的變量輸入 - 不工作

public static void main(String[] args){ 
Scanner getInput = new Scanner(System.in); 

String defaultInFile = "fileContainingEmails.txt"; 
String defaultOutFile = "copyPasteMyEmails.txt"; 

String myInFile; 
String myOutFile; 

    System.out.print("Enter input filename [default: " + defaultInFile + "]: "); 
    //CRUD applications oh yea 
    String myInputNom = getInput.nextLine(); 
    if (myInputNom.equals("")) 
    { 
     myInFile = defaultInFile; 
    } 
    else 
    { 
     myInFile = myInputNom; 
    } 

    //System.out.println(defaultOutFile); THIS WORKS 

    if (myInputNom.equals("")) 
    { 
     System.out.print("Enter output filename [default: " + defaultOutFile + "]: "); 
    } 
    else 
    { 
     System.out.print("Enter output filename [default: " + myInFile + "]: "); 
    } 

    //System.out.println("'" + myInputNom + "'");   

    myInputNom = getInput.nextLine(); 

    System.out.println("'" + myInputNom + "'"); 

    if (myInputNom.equals("")) 
    { 
     myOutFile = defaultOutFile; 
    } 
    else 
    { 
     myOutFile = myInputNom; 
    } 

    System.out.println("Input file: " + myInFile); 
    System.out.println("Output file: " + myOutFile); 
    } 

那麼我做錯了什麼?第二個getInput.nextLine();就像它忽略了所有輸入。

我希望myOutFile中有一些東西,但是我什麼也沒得到。

謝謝!

+0

作爲輸出你期望什麼,你會得到什麼? –

+1

這裏沒有足夠的信息。什麼是myInputNom等於? – JSager

+0

謝謝我添加了預期的輸出和myInputNom信息 – CodingIsAwesome

回答

1

你的代碼在這裏工作得很好。

% java -cp . foo 
Enter input filename [default: fileContainingEmails.txt]: df 
Enter output filename [default: df]: dfee 
'dfee' 
Input file: df 
Output file: dfee 

這實際上是一種解脫試圖幫助,只是發現沒有什麼是壞的。

1

您的評論:

我不希望它的任何地方寫,只是在屏幕上顯示的默認文件名,如果輸入的是空白

是錯誤的,因爲你的輸入文件名字永遠不會是空白的。如果用戶輸入的輸入文件中沒有文字,它會被賦予默認值:

if (myInputNom.equals("")) { 
    System.out.print("Enter output filename [default: " + defaultOutFile + "]: "); 
    } else { 
    System.out.print("Enter output filename [default: " + myInFile + "]: "); 
    } 

所以,如果條件在這裏:

if (myInputNom.equals("")) { 
    myOutFile = defaultOutFile; 
    } else { 
    myOutFile = myInputNom; 
    } 

永遠不會爲真。