visual studio代码Java错误,Java中的重复变量错误,无法从字符串转换为类
我正试图调试我的代码中的一个错误(我对Java还是很陌生)来完成一个任务
public static void main(String[] args) throws Exception {
System.out.println("Hi, Welcome!");
Scanner inpt = new Scanner(System.in);
System.out.print("What can I call u? : ");
String user = inpt.nextLine();
Pelanggan user = new Pelanggan();
}
“Pelanggan”是我制作的课程的名称。 我想把user的值赋给Pelanggan类,但我得到了这个错误
Duplicate local variable user
然后我试着把代码改成这个
public static void main(String[] args) throws Exception {
System.out.println("Hi, Welcome!");
Scanner inpt = new Scanner(System.in);
System.out.print("What can I call u? : ");
Pelanggan user = inpt.nextLine();
user = new Pelanggan();
}
然后我犯了这个错误
Type mismatch: cannot convert from String to Pelanggan
我试图寻找解决方案,但仍然没有找到一个解决方案,这是我的代码
我该怎么解决这个问题
任何帮助都将不胜感激! 谢谢!
# 1 楼答案
Java中的指针有三个部分
Type
是指针将要保存的数据类型name
是我们在代码中寻址指针的方式value
是指针指向的数据当你声明一个指针
你告诉编译器两件事
user
李>现在,您可以在需要字符串数据类型的任何地方使用
user
中存储的值。但是,您不能再声明另一个现在,编译器感到困惑,因为您已经定义了一个名为
user
的指针,所以会出现重新声明错误。(范围在这里很重要,因为您可以在不同的范围中再次定义它,但这超出了本答案的范围)你的第二个问题呢
您完全可以更改指针的值(如果它不是最终指针),但是
不会编译,因为您告诉编译器
user
是对字符串的引用。MyClass不是字符串(如果它是字符串的子类,则可能是字符串,但这又超出了本答案的范围),因此它会给您一个类型不匹配错误简单的答案就是为每个指针使用不同的名称。如果您真的希望对Palanggan实例的引用是
user
,那么将字符串指针命名为其他名称# 2 楼答案
检查退货类型: 字符串java。util。扫描仪。nextLine()
所以最好在Pelanggan类中设置变量,并在方法或构造函数中设置
# 3 楼答案
假设
Pelanggan
类,应该在Pelanggan
类中创建一个String
字段,并按如下方式实现:代码的主要部分:
Pelanggan
类可能与我假设的解决方案不同。其主要思想是:如果您想在类中存储String
,可以将其存储为字段,并将其作为参数提供给类的构造函数