Java 未解决的编译问题:未为Main类型定义getInput(String)方法
也许我忘了一个重要的东西,但似乎什么都不管用。我正在努力学习java,但仍然是初学者Java 未解决的编译问题:未为Main类型定义getInput(String)方法,java,Java,也许我忘了一个重要的东西,但似乎什么都不管用。我正在努力学习java,但仍然是初学者 public class Main { public static void main(String[] args) { String s1=getInput("Enter First Number") ; String s2=getInput("Enter second Number"); double d1=Double.parseDouble(s1); doub
public class Main {
public static void main(String[] args) {
String s1=getInput("Enter First Number") ;
String s2=getInput("Enter second Number");
double d1=Double.parseDouble(s1);
double d2=Double.parseDouble(s2);
double result=d1+d2 ;
System.out.println(result);
}}
导致错误,因为编译器无法识别getInput(“”)代码>
这是来自Eclipse的:
Exception in thread "main" java.lang.Error: Unresolved compilation problems:
The method getInput(String) is undefined for the type Main
The method getInput(String) is undefined for the type Main
at Main.main(Main.java:8)
这是因为没有定义getInput。看看这个例子,看看如何从用户那里获取输入
您正在调用一个类中不存在的getInput()方法。看看这个关于I/O的Java教程:
试试这个
import java.io.*;
BufferedReader reader = new BufferedReader(System.in);
String input = reader.readLine();
可能有什么问题:
方法getInput未在主类中实现
getInput不是静态的,所以main看不到它(您可以将getInput更改为静态方法)
getInput没有字符串签名,因此它不将字符串作为参数
Eclipse应该在编译带有“红色”标记的文件之前警告您这一点。请在编译类之前修复它们。您现在可能已经解决了这个问题,但正如其他人所说,getInput似乎还没有实现。这意味着您还没有告诉程序getInput的实际功能。您需要一个导入,并添加getInput方法,如下所示:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
String s1=getInput("Enter First Number") ;
String s2=getInput("Enter second Number");
double d1=Double.parseDouble(s1);
double d2=Double.parseDouble(s2);
double result=d1+d2 ;
System.out.println(result);
}
private static String getInput(String output)
{
Scanner input = new Scanner(System.in);
System.out.println(output);
return input.next();
}
}
这里的getInput方法接受您发送的字符串并将其调用为“output”。因此,在您第一次调用它时,output=“Enter First Numer”
然后创建一个名为“input”的扫描仪对象,它将允许您读取用户在键盘上键入的内容
Scanner input = new Scanner(System.in);
然后将该输出消息发送给用户:
System.out.println(output);
最后,使用输入对象返回用户键入的字符串,该对象将读取用户键入的下一个内容。用户必须在键入后按enter键
return input.next();
如果你对那里发生的事情有任何疑问,请告诉我。为什么我不能编辑这篇文章?因为你还不够冷静。@Adrian你没有足够的声誉。您的编辑进入一个队列,该队列由那些有足够声誉的人批准或拒绝。请看@Ktash,我现在可以编辑它了(链接出现了)。我的代表是same@Adrian该链接之所以存在,是因为您可以编辑它,它只是进入一个队列,只有在获得足够声誉的人的批准或拒绝之前才会显示给您。您可以在未经批准的情况下在2000年进行编辑。如果您还有任何问题,我会查看,或者我们可以将其移动到。您能给我一个方法,让我的代码在不使用readBuffer的情况下工作,请让我让我的代码在不使用readerBuffer的情况下工作,如何让main知道itRoseindia.net是代码示例中显示的“最佳实践”中最差的在线Java资源之一。相反,请参考Oracle自己的教程。因此,请给我一种方法,使其得到main的认可
return input.next();