Java:“错误:找不到符号”
Posted
技术标签:
【中文标题】Java:“错误:找不到符号”【英文标题】:Java: "error: cannot find symbol" 【发布时间】:2013-12-06 21:41:11 【问题描述】:(我敢肯定,这是菜鸟的错误。)
我是一年级计算机科学专业的学生,正在尝试使用代码编写一个作业程序;
import java.util.Scanner;
public class Lab10Ex1
public static void main(String[] arg)
Scanner keyboard = new Scanner(System.in);
System.out.println("Please type a number: ");
int n = keyboard.nextInt();
calcNumFactors();
public static void calcNumFactors()
System.out.print(n + 1);
但是在编译时,我得到了错误;
Lab10Ex1.java:10:错误:找不到符号 System.out.print(n + 1); ^
符号:变量 n
地点:Lab10Ex1 班
如果有人能向我解释我做错了什么,或者如何解决它,我将不胜感激。
【问题讨论】:
作为提示;保持你的代码格式一致和可读。它会在以后的作业和未来的课程中省去很多麻烦。 啊。正如我所说,我是该站点的新手,也是 Java 的新手。我很抱歉。凌晨 1:30 可能没有帮助。 是的,编码到深夜从来都不是一件有趣的事(我在大学时经常这样做)。格式化位几乎都是为了您的利益;这是一项绝对关键的技能,因为您最终将必须在团队中工作(并且其他人必须能够阅读您的代码)。从 Stack Overflow 的角度来看,它还可以帮助您更快地获得帮助(如果我们无法阅读代码,我们将无法帮助您:P) 很公平。顺便说一句,程序完成了,而且,作为奖励,功能。哇!晚安互联网! 【参考方案1】:n
变量是在 main
方法中声明的,因此仅在 main 方法中可见,在其他任何地方都不可见,当然在 calcNumFactors
方法内部也不可见。要解决此问题,请为您的 calcNumFactors
方法提供一个 int
参数,该参数将允许调用方法将 int
(例如 n
)传递给该方法。
public static void calcNumFactors(int number)
// work with number in here
然后这样称呼它:
int n = keyboard.nextInt();
calcNumFactors(n);
【讨论】:
啊,解决了。非常感谢。【参考方案2】:你必须在public static void calcNumFactors()
中声明变量n
在您的代码中,您必须将 n 的值作为参数传递给函数 calcNumFactors()
,正如 Hovercraft Full Of Eels 所说。
【讨论】:
【参考方案3】:import java.util.Scanner;
public class Lab10Ex1
private static int n;
public static void main(String[] arg)
Scanner keyboard = new Scanner(System.in);
System.out.println("Please type a number: ");
n = keyboard.nextInt();
calcNumFactors();
public static void calcNumFactors()
System.out.print(n + 1);
【讨论】:
【参考方案4】:就我而言,我从 Grails (.groovy) 项目中复制了一个 Enum 文件,但忘记将扩展名更改为 .java
【讨论】:
以上是关于Java:“错误:找不到符号”的主要内容,如果未能解决你的问题,请参考以下文章
Java(Android)中的新功能。为啥 ANT DEBUG 显示错误“找不到符号”?
FirebaseAuthPlugin.java:9:错误:找不到符号导入 androidx.annotation.NonNull;
错误:找不到符号(dataOutputStream out)[重复]