[英]UserId cannot be resolved to a type error java
我對諸如Java上的public void之類的方法不熟悉。
如果有人輸入名字為: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;
}
}
除了丹尼爾·斯坦利(Daniel Stanley)的答案之外,您沒有在主方法中或在從命令行獲取輸入的userId()方法中調用firstname()和surname()方法。
這行:
userID process = new UserID();
應該:
UserID process = new UserID(); //capital 'U'
接着:
process.userID("SomeString"); //add brackets
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位,因此可以解決。 由於您使用的是名字和姓氏,因此您無需在方法中傳遞userId。
試試看,代碼有一些邏輯和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();
}
}
隨便問什么。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.