UserId无法解析为类型错误java

时间:2015-01-06 12:05:01

标签: java eclipse

我对Java等公共虚空内容等方法不熟悉。

如果有人输入名字:John和姓:Smith。我的程序应该将UserID显示为jsmith。当我把它全部放在main方法中时,一切正常。我希望它在同一个类(UserID)上我还得到一条错误消息,说明插入赋值运算符表达式,其中包含:

process.userID;

以下是代码:

import java.util.Scanner;
public class UserID {

Scanner myScan = new Scanner (System.in);

char firstLetter;
String firstName;
String minCharacters;
String surname; 
String userID;

public void firstName () {
    System.out.print("Please enter your firstname: ");
    firstName = myScan.nextLine();
}

public void surname () {
    System.out.print("Please enter your surname: ");
    surname = myScan.nextLine();
}

public void userID (String userID) {
    firstLetter = firstName.charAt(0);
    minCharacters=surname.substring(0, 5);
    userID = firstLetter+minCharacters;
    System.out.print("User ID = " + userID.toLowerCase());
    System.out.println ("\nPlease keep a note of your User ID");

    myScan.close();
}

public static void main(String[] args) {
    String userID;
    userID process = new UserID();
    process.userID;

}

}

4 个答案:

答案 0 :(得分:1)

除了Daniel Stanley的答案之外,你不是在main方法或userId()方法中调用firstname()和surname()方法,它从命令行获取输入。

答案 1 :(得分:0)

这一行:

userID process = new UserID();

应该是:

UserID process = new UserID(); //capital 'U'

然后:

process.userID("SomeString"); //add brackets

答案 2 :(得分:0)

public void userID () {
firstLetter = firstName.charAt(0);

minCharacters=surname.length()>=5?surname.substring(0, 5):surname;
userID = firstLetter+minCharacters;
System.out.print("User ID = " + userID.toLowerCase());
System.out.println ("\nPlease keep a note of your User ID");

myScan.close();

}

public static void main(String[] args) {
UserID process = new UserID();
process.firstName();
process.surname();
process.userID();

}

更新了您的代码。有用。 Daniel指出,第一个问题是UserID。之后,姓氏可以少于5位数,因此它可以解决这个问题。因为你使用的是firstname和surname,所以你不需要在方法中传递userId。

答案 3 :(得分:0)

试试这个,Code有一些逻辑和Java命名约定错误;

我分别编辑了你的代码。

public class UserID {
    Scanner myScan = new Scanner(System.in);
    char firstLetter;
    String firstName;
    String minCharacters;
    String surName;
    String userID;

    public void setFirstName() {
        System.out.print("Please enter your firstname: ");
        this.firstName = myScan.nextLine();
    }

    public void setSurName() {
        System.out.print("Please enter your surname: ");
        this.surName = myScan.nextLine();
    }

    public void generateUserID() {
        firstLetter = firstName.charAt(0);
        minCharacters = surName;
        userID = firstLetter + minCharacters;
        System.out.print("User ID = " + userID.toLowerCase());
        System.out.println("\nPlease keep a note of your User ID");

        myScan.close();
    }

    public static void main(String[] args) {
        String userID;
        UserID process = new UserID();
        process.setFirstName();
        process.setSurName();
        process.generateUserID();
    }
}

随意提出任何问题。