黑马程序员技术交流社区
标题:
程序小问题求解
[打印本页]
作者:
李跃达
时间:
2013-1-24 14:55
标题:
程序小问题求解
本帖最后由 张向辉 于 2013-1-25 09:32 编辑
public class PrintChar{
public static void main(String[] args) {
int i,j; for(i=0;args[i]!='\0';i++) {
System.out.println("args[i]");
for(j=0;j<i;j++)
System.out.println("*"); }
}
}
复制代码
编译报错,什么问题呢?
作者:
黑马刘杰
时间:
2013-1-24 15:12
数组args里面可能会没有元素,所以会报空指针异常
作者:
jonn
时间:
2013-1-24 15:23
public class PrintChar{
public static void main(String[] args) {
int i,j;
int temp=args.length;
if(temp==0)
throw new RuntimeException("man函数无参数传递...");
for(i=0;i<temp;i++) {
if(!args[i].equals("over"))
System.out.println(args[i].toString());
else
break;
}
}
}
复制代码
代码给你优化了,LZ的代码参数String与循环比较的args
!='\0'中是char类型,不兼容....
作者:
黑马张英涛
时间:
2013-1-24 15:24
args[i]!='\0',你拿字符串跟字符比较,编译当然不通过了
作者:
yong230
时间:
2013-1-24 15:47
本帖最后由 yong230 于 2013-1-24 15:50 编辑
这样写就可以了:
class PrintChar {
public static void main(String[] args) {
if (null != args && args.length > 0) {
int i, j;
for (i = 0; args
.charAt(0) != '\0'; i++) {
System.out.println("args
");
for (j = 0; j < i; j++)
System.out.println("*");
}
}
}
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2