我对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;
}
}
答案 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();
}
}
随意提出任何问题。