JAVA常见问题 及解决方案

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
int n=Integer.parseInt(s); //或double d=Double.parseDouble(s);或float d=Float.parseFloat(s)等。
011
让程序在执行过程中暂停一段时间的方法。
一、使用线程中的sleep()方法。
二、直接使用Thread.sleep()方法。
009
D:\根目录下有一个程序box.java,程序中使用了“package myobject;”语句,使用“javac box.java”编译后,再用java box运行程序则无法运行,去掉package语句则程序运行正常?
将box.java存放到d:\myobject目录下,执行“javac /myobject/box.java”进行编译,再执行“java myobject.box”运行成功!
010
要从键盘输入两个数字,然后程序求和。但java的I/O操作中都是把键盘输入当字符串处理,而字符串类型和数值类型之间无转换关系?
BufferedReader cin=new BufferedReader(new InputStreamReader(System.in));
String s=cin.readLine();:
JAVA常见问题
编号
问题
解决方案
001
paint(Graphics g){g.drawString()}中可否把g换成其他变量如“m”?
可以,g实际就是Graphics类的一个对象。
002
003
int n=18; g.drawString(n,20,20);编译出错的原因?
g.drawString()函数中的第一个参数必须是字符串型,因此可以写为g.drawString(“”+n,20,20)。“+”用于将两个字符串连接,当将一个字符串数据和一个非字符串用“+”连接时,自动将非字符串数据转换为字符串数据。
012
使用FileWriter类的write()方法如何实现将新字符追加到原文件末尾而不是覆盖原文件的内容?
FileWriter fw=new FileWriter(File f,boolean append);其中的第二个参数设置为true,如设置为false则为覆盖模式。
[原因分析]:
当你导入一个包中所有的类时,javac在编译时并不确定你要使用的World类是a包中的类,还是其他包中的类,它会根据你机器上的CLASSPATH环境变量的值去查找类,通常我们在CLASSPATH中会设置一个点(.),表示当前目录,如果没有CLASSPATH环境变量,那么默认也是首先查找当前目录。javac在按照文件名(不包括后缀)来查找类,于是找到World.java,而这个文件根本不是字节码文件,当然就报错了。当你导入一个具体的类时,javac在分析源文件时就知道了你程序中用的类是a.World,那么它就在CLASSPATH环境变量下查找a目录下的World类,正好有,于是正确执行。
008
在d:\根目录下有两个程序:cylinder.java和sample.java,在cylinder.java程序中使用了“package myclass.myobject;”语句创建包,在sample.java中使用“import myclass.myobject.*;”语句。
执行javac –d d:\ cylinder.java编译无误
再执行
为更正错误设置classpath=d:\
编译依然出错。
最后删除cylinder.java,编译成功!??
方案一:编译完cylinder.java后,删除cylinder.java文件,在编译sample.java,问题即得到解决。
方案二:将sample.java中“import myclass.myobject.*;”语句改写为“import myclass.myobject.cylinder;”语句。
004
String s=“hello”;if(“hello”==s){}是否正确?
错误,不能使用“==”操作符来检测两个字符串是否相等!它只能判断两个串是否存储在同一个位置。
可以使用equals方法检测两个字符串是否相等如:s.equals(t),s和t既可以是变量名,也可以是字符串常量,表达式s.equals(“hello”)都是合法的。
005
定义数组的的方法如:int[] a和int a[]?
两种方法都正确。
006
int a;a=5;{float a;}编译错误?
JAVA中不允许对同一变量重复声明。
007
把类box放在了一个自定义包myclass中,为什么在另一个程序中使用import myclass.*不行,而import myclass.box就可以呢?
相关文档
最新文档