编译时报错找不到符号怎么办
1. 写了一段java程序,编译时提示找不到符号,请问该怎么修改
Scanner类没有nextChar()方法,用next()返回字符串,是一样的,还有一点就是只要一个Scanner对象就行了,希望能帮到你。
Scanner sc=new Scanner(System.in);//只需要一个Scanner对象就行了
System.out.println("请输入性别、父亲身高、母亲身高、是否喜欢体育锻炼:");
String sex,sports,diet;// 性别,体育锻炼,饮食习惯
int faHeight,moheight;//父亲母亲身高
sex=sc.next();//next()返回的是String类型
faHeight=sc.nextInt();//nextInt()返回int类型
moheight=sc.nextInt();
2. java编译程序的时候总是提示找不到符号
public static void main(String[] args) throws Exception {
System.out.println("请输入你的姓名:");
Scanner in = new Scanner(System.in);
String lk = in.next();
System.out.println("请输入你的年龄:");
int kj = in.nextInt();
System.out.println("姓名:" + lk);
System.out.println("年龄:" + kj);
}
3. java编译时提示找不到符号
用MYECLIPSE开发环境
通常情况下,在编写java文件时,会有引用到自已定义的一些类,如果按通常的javac *.java的形式来编译会出现找不到符号的错误。
以下提供了两种方法
假如在d:/web/wsh下有a.java和b.java两个文件,在b.java文件中有引用了a.java。下面是编译的方法
1.方法一:
进入d:/web/wsh下: javac a.java
然后退出wsh目录即进入d:/wsh下 javac wsh/b.java即可编译成功!
2.方法二:通过使用javac -classpath(cp)参数
进入d:/web /wsh下: javac a.java
还是在d:/wsh/wsh下: javac -classpath d:/web/wsh b.java
这样也可以编译成功!
以下方法都通过测试!
以下是javac编译的参数:
用法:javac <选项> <源文件>
选项:
-g:none 不生成任何调试信息
-g:{lines,vars,source} 只生成某些调试信息
-nowarn 不生成任何警告
-verbose 输出有关编译器正在执行的操作的消息
-deprecation 输出使用已过时的 API 的源位置
-classpath <路径> 指定查找用户类文件的位置
-cp <路径> 指定查找用户类文件的位置
-sourcepath <路径> 指定查找输入源文件的位置
-bootclasspath <路径> 覆盖引导类文件的位置
-extdirs <目录> 覆盖安装的扩展目录的位置
-endorseddirs <目录> 覆盖签名的标准路径的位置
-d <目录> 指定存放生成的类文件的位置
-encoding <编码> 指定源文件使用的字符编码
-source <版本> 提供与指定版本的源兼容性
-target <版本> 生成特定 VM 版本的类文件
-version 版本信息
-help 输出标准选项的提要
-X 输出非标准选项的提要
-J<标志> 直接将 <标志> 传递给运行时系统
4. 编译错误:找不到符号
Rectangle r1=new Rectangle(5.5f,12.6f);
Rectangle r2=new Rectangle(2.5f,3.6f);
数字后要加f才是float型,否则默认为double型,其实double型更常用.