我正在学习Java,我想在Eclipse中测试这个程序:
import java.util.Scanner;
public class apples{
public static void main(String args[]){
Scanner input = new Scanner(System.in);
tuna tunaObject = new tuna();
System.out.println("Enter name of first gf here: ");
String temp = input.nextLine();
tunaObject.setName(temp);
tunaObject.saying();
}
}
这是我与之合作的班级:
public class tuna{
private String girlsName;
public void setName(name) {
girlsName = name;
}
public String getName(){
return girlsName;
}
public void saying(){
System.out.println("Your first gf was %s",getName());
}
}
但是一旦我运行它,我就会遇到这三个错误:
语法错误,插入" ... VariableDeclaratorId"去完成 FormalParameterList tuna.java / Bucky / src第3行Java问题
PrintStream类型中的println(String)方法不适用 for arguments(String,String)tuna.java / Bucky / src第10行Java 问题
tuna类型中的方法setName()不适用于 arguments(String)apples.java / Bucky / src第9行Java问题
线程中的异常" main" java.lang.Error:未解决的编译问题: tuna类型中的方法setName()不适用于参数(String)
在apple.main(apples.java:9)
我不知道这些错误,它们为什么会发生以及如何修复它们! 那么你可以帮助我...
答案 0 :(得分:1)
Java是一种强类型语言,在定义方法时缺少名称类型。所以这个:
public void setName(name) {
应改为:
public void setName(String name) {
^^^^^^
您可以使用name
作为String
类型的参数来定义setter方法。
答案 1 :(得分:1)
在你的金枪鱼类中,你的setName方法应该是
public void setName(String name)
并且你说法中的print语句应该是printf
System.out.printf()
答案 2 :(得分:0)
用这个替换你的setName函数:
public void setName(String name) {
girlsName = name;
}
你忘了添加参数类型。
答案 3 :(得分:0)
您必须在setName方法中为参数提供数据类型。 取代
public void setName(name) { girlsName = name; }
使用
public void setName(String name) {
girlsName = name;
}
答案 4 :(得分:0)
你能试试吗?有多种语法错误。
在setName()>中为您的参数添加类型setName(字符串名称)
使用当前代码
System.out.printf(“你的第一个gf是%s”,getName());
这应该清除所有错误。