我可以在方法 java 类中接受用户输入吗?

时间:2021-01-26 18:34:44

标签: java

  public static void userinput() {
      System.out.print("Enter your name : ");
      Scanner d = new Scanner(System.in);
      String username = d.next();

      System.out.print("\nEnter your Age : ");
      Scanner a = new Scanner(System.in);
      int Age = a.nextInt();

      System.out.print("\nEnter your roll number : ");
      Scanner b = new Scanner(System.in);
      int rollno = b.nextInt();

      System.out.print("\nEnter your city : ");
      Scanner c = new Scanner(System.in);
      String city = c.nextLine();

      System.out.println("Hello, " + username + " your age is " + Age + " you live in " + city + " and your roll number is " + rollno);

      return (0);
  }

这是在方法中从用户那里获取输入的正确方法吗?

1 个答案:

答案 0 :(得分:0)

这是更正后的版本:

  public static void userinput() {
      Scanner scanner  = new Scanner(System.in);

      System.out.print("Enter your name : ");
      String username = sanner.nextLine();//as next() reads only a word

      System.out.print("\nEnter your Age : ");
      int age = Integer.parseInt(scanner.nextLine());//as nextInt() does not read the \n which may cause next string inputs to be null

      System.out.print("\nEnter your roll number : ");
      int rollno =  Integer.parseInt(scanner.nextLine());

      System.out.print("\nEnter your city : ");
      String city = scanner.nextLine();

      System.out.println("Hello, " + username + " your age is " + Age + " you live in " + city + " and your roll number is " + rollno);

      //a void function doesn't compulsorily need a return statement
  }

同样只有一台扫描仪就足够了!