Java 不兼容的类型和System.out.print错误?
这项任务的重点是创建一个程序,允许一个人输入他们的名字、姓氏和出生年份。我们必须创建一个用户id,其中包含他们名字的第一个字母、姓氏的前三个字母以及出生年份的最后两位数字。例如,Java 不兼容的类型和System.out.print错误?,java,Java,这项任务的重点是创建一个程序,允许一个人输入他们的名字、姓氏和出生年份。我们必须创建一个用户id,其中包含他们名字的第一个字母、姓氏的前三个字母以及出生年份的最后两位数字。例如,Austin Carlie,1987-->ACar87。 这是我的密码: import java.util.Scanner; public class UserID { public static void main(String[] args) { Scanner input = new S
Austin Carlie,1987
-->ACar87
。
这是我的密码:
import java.util.Scanner;
public class UserID {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int userID;
System.out.print("Enter Your First Name: ");
String s1 = input.nextLine();
System.out.print("Enter Your Last Name: ");
String s2 = input.nextLine();
System.out.print("Enter Your year of birth: ");
String s3 = input.nextLine();
s1 = s1.substring(0, 1);
s2 = s2.substring(0, 3);
s3 = s3.substring(2, 4);
userID = s1 + s2 + s3;
System.out.print("The User's ID is: %userID", userID);
}
}
我已经改变了我的程序,试图修复我得到的错误,所以如果有什么明显的错误,请原谅我
我得到的错误是:
错误:不兼容的类型与userID=s1+s2+s3
行不兼容,克拉位于最后一个+
另一个是:错误:没有找到合适的打印方法(String,int)
,该方法用于系统输出打印(“用户ID为:%userID”,userID)代码>和克拉在系统.out.print
中处于第二个周期
有人能帮我解决这个问题吗?将userId
设为String
。你的问题应该解决。
当你打印时,你不会传递另一个参数。附加它
System.out.print("The User's ID is: " + userID);
以前
System.out.print(“用户ID为:%userID”+userID);
userID
应该是字符串
。这样,您可以将s1
、s2
和s3
的值连接到它
System.out.print(“用户ID为:%userID”+userID)代码>接近,但语法上仍然不正确。如果要进行位置打印,则要查找的方法是,并且要确保使用类强制要求的%s
…但是因为只有一个元素,所以您应该将字符串文字与println
或print
中的变量连接起来(但是对于后者以及上面的元素,您需要包含\n
字符)
System.out.print("The User's ID is: " + userID + "\n");
System.out.println("The User's ID is: " + userID);
您不能在打印中使用格式化程序
你可以用任何一种
System.out.print("The User's ID is:"+ userID);
或者,如果你想使用格式化程序,你可以像
System.out.printf(“用户ID为:%d”,userID)
;userID
是int
,它应该是String
!System.out.print
不支持分隔符。System.out.printf
支持分隔符。%d
用于数值;如果修复应用于userID
,它将成为字符串
。int userID更改字符串userID
System.out.print("The User's ID is:"+ userID);