0

因此,当我尝试编译此代码时,我得到:

java:找不到符号符号:类控制台位置:类java.lang.System

我不明白为什么当我启动控制台对象时, System.console() 无法解析...

import java.io.Console;
import java.util.Arrays;
import java.util.Scanner;


public class User {
    Scanner input = new Scanner(System.in);
    Console console = new System.console();

    private String userID, userPW, userPIN;
    private char[] password = new char[6];


    public String getUserID() {
        return userID;
    }

    public void setUserID(String userID) {
        this.userID = userID;
    }

    public String getUserPW() {
        return userPW;
    }

    public void setUserPW(String userPW) {
        this.userPW = userPW;
    }

    public String getUserPIN() {
        return userPIN;
    }

    public void setUserPIN(String userPIN) {
        this.userPIN = userPIN;
    }

 public void setUserInfo() {
      System.out.print("Please enter your User ID : ");
      this.setUserID(input.nextLine());

      System.out.print("Please enter your Password: ");
      this.setUserPW(input.nextLine());

      this.password = console.readPassword("Enter password");
      Arrays.fill(this.password, '*');
  }
4

2 回答 2

13

它不是

Console console = new System.console();

它应该是

Console console = System.console();
于 2013-05-12T07:11:57.273 回答
4

您正在尝试使用 System 类访问控制台,其中 console() 方法是静态的,因此无需将 new 关键字放在 System.console() 前面,只需删除 new 关键字即可。

于 2013-05-12T07:16:28.893 回答