Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/398.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java简单程序使用相同的变量进行输入-不工作_Java_String_Variables_If Statement_Java.util.scanner - Fatal编程技术网

Java简单程序使用相同的变量进行输入-不工作

Java简单程序使用相同的变量进行输入-不工作,java,string,variables,if-statement,java.util.scanner,Java,String,Variables,If Statement,Java.util.scanner,我要做的就是将字符串变量用于所有扫描仪输入 public static void main(String[] args){ Scanner getInput = new Scanner(System.in); String defaultInFile = "fileContainingEmails.txt"; String defaultOutFile = "copyPasteMyEmails.txt"; String myInFile; String myOutFile; Sys

我要做的就是将字符串变量用于所有扫描仪输入

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中有一些东西,但我什么也得不到

谢谢

您的评论:


我不想在任何地方写它,只要在屏幕上显示默认的文件名,如果输入为空

错误,因为您的输入文件名永远不会为空。如果用户未为输入文件输入任何文本,则将为其提供默认值:

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

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

永远不会是真的。

您的代码在这里运行良好

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

事实上,试图提供帮助,却发现没有任何东西被破坏,这是一种解脱。

您对输出的期望是什么?您得到的是什么?这里没有足够的信息。myInputNom等于什么?谢谢,我添加了预期的输出和myInputNom信息。您在哪里向输出文件写入任何内容?我不想在任何地方写入它,如果输入为空,只需在屏幕上显示默认文件名。