需要标识符,Java
我正试图调试这个简单的应用程序,但我不知道为什么它不能编译需要标识符,Java,java,Java,我正试图调试这个简单的应用程序,但我不知道为什么它不能编译 import java.util.Scanner; public class DebugThree3 { public static void main(String[] args) { String name; getName(); displayGreeting(name); } public String getName(name) { Scanner
import java.util.Scanner;
public class DebugThree3
{
public static void main(String[] args)
{
String name;
getName();
displayGreeting(name);
}
public String getName(name)
{
Scanner input = new Scanner(System.in);
System.out.print("Enter name: ");
name = input.nextLine();
return name;
}
public static void displayGreeting()
{
System.out.println("Hello, " + name + "!");
}
}
试图编译告诉我,第12行公共字符串getName(name)上应该有一个标识符。有人能告诉我我错过了什么吗
谢谢您需要指定方法接受的参数的
类型
public String getName(String name)
{
Scanner input = new Scanner(System.in);
System.out.print("Enter name: ");
name = input.nextLine();
return name;
}
将参数传递给main
函数中的getname
函数
正如SURESH指出的那样,
getname
函数需要标记为static
。否则,在访问类中的方法之前,需要创建类的对象 我冒昧地用两种标准方法修复了您的程序,这两种方法都是您想要做的
当前您没有传递名称
,您可能会假设它存在于它不存在的作用域中
我还将冗余的put-something-a-parameter-and-return行为移动到:
String name = input.nextLine()
return name;
只剩下:
return input.nextLine();
第一种方法是在函数之间作为参数传递名称
,指定其类型:
import java.util.Scanner;
public class DebugThree3
{
public static void main(String[] args)
{
String name = getName();
displayGreeting(name);
}
public String getName()
{
Scanner input = new Scanner(System.in);
System.out.print("Enter name: ");
return input.nextLine();
}
public static void displayGreeting(String name)
{
System.out.println("Hello, " + name + "!");
}
}
第二种方法是将name
作为静态类成员:
import java.util.Scanner;
public class DebugThree3
{
String name;
public static void main(String[] args)
{
getName();
displayGreeting();
}
public String getName()
{
Scanner input = new Scanner(System.in);
System.out.print("Enter name: ");
DebugThree3.name = input.nextLine();
}
public static void displayGreeting()
{
System.out.println("Hello, " + DebugThree3.name + "!");
}
}
一个也没有。问题太多。为什么
getName()
接受一个参数,而displayGreeting()
不接受?你不想要String name=getName()代码>?getName也应该是静态的