在java中同时输入多个String数据

时间:2013-11-19 12:59:04

标签: java

我有以下代码:

String username="administrator", iusername="", password="password", ipassword="";
System.out.println("Please login to the system");
System.out.print("\nusername:\t");

iusername = scan.nextLine();
System.out.print("\npassword:\t");
ipassword = scan.nextLine();

我希望用户输入两个变量的数据(iusername和ipassword) 但我只能为ipassword输入数据,因为它跳过了

iusername = scan.nextLine();
下面的

是IDE

的输出示例
username:   username:   

password:   BUILD STOPPED (total time: 12 seconds)

它跳过我的用户名并转到密码

2 个答案:

答案 0 :(得分:1)

这可用于自动将新输出放在新行上。

System.out.println("");

如果没有更多代码或更清晰的问题,这很难回答。

username = scan.nextLine();
System.out.print("\npassword:\t");
password = scan2.nextLine();

应该是,因为您可以重用Scanner类实例。

username = scan.nextLine();
System.out.print("\npassword:\t");
password = scan.nextLine();

可能你想做

username = scan.nextLine(); // Get user input
System.out.println("Username:\t" + username); // Show typed username
password = scan2.nextLine(); // Get user input again
System.out.println("Password:\t" + password); // Show typed password

答案 1 :(得分:1)

对不起,我不明白你的意思...... 我尝试了这个,我可以插入两个值(iusername和ipassword):

import java.util.Scanner;

public class MultipleStringInput {

   public static void main(String[] args) {
      String username = "administrator", iusername = "", password = "password", ipassword = "";
      System.out.println("Please login to the system");
      System.out.print("\nusername:\t");

      Scanner scan = new Scanner(System.in);

      iusername = scan.nextLine();
      System.out.print("\npassword:\t");
      ipassword = scan.nextLine();
      System.out.println(iusername + " " + ipassword);
   }

}

我认为此代码按预期工作(“我希望用户输入两个变量的数据”)。 看起来你的IDE正在将System.out重定向到你的扫描仪......奇怪......我建议你从命令行测试它。