| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 712 人关注过本帖
标题:小问题求助,我是初学者!
只看楼主 加入收藏
byf0138
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2006-3-29
收藏
 问题点数:0 回复次数:5 
小问题求助,我是初学者!

我是初学者,有个小问题求助:
/*创建一个程序,用于将两个整数值和一个运算符存储在相应的变量中,并执行必要的运算(使用switch语句)*/

class Operation1
{
public static void main (String args[])
{
int num = 0, num1 = Integer.parseInt (args[0]), num2 = Integer.parseInt (args[2]);
char operator1 = args[1].charAt(0);

switch (operator1)
{
case '+':
num = num1 + num2;
break;
case '-':
num = num1 - num2;
break;
case '*':
num = num1 * num2;
break;
case '/':
num = num1 / num2;
break;
case '%':
num = num1 % num2;
break;
}

System.out.print (String.valueOf (num1) + operator1 + String.valueOf (num2) + "=" + num);
}
}
程序内容如上;
但是运行的时候
如果我输入java Operation1 3 * 5
提示:
Exception in thread "main" java.lang.NumberFormatException:For input string:"Operation1.java"
at java.lang.NumberFormatException.forInputString(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at Operation1.main(Operation1.java:7)
而如果“*”号用“+、-、/、%”代替则可以正常运行,请哪位高手有空的话帮个忙回答一下哈!

搜索更多相关主题的帖子: switch num break case 
2006-03-29 12:01
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
收藏
得分:0 

你的程序会出现这个问题,是因为你不了解“*”的用法
它在java当中充当一个通配符的作用,而不是乘号
如果你要把它做为乘号用的话,你必须经它加上一个双引号(“*”)
这个你就可以正常用到乘法的功能了
java Operation1 3 "*" 5
就正常了


可惜不是你,陪我到最后
2006-03-29 12:20
byf0138
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2006-3-29
收藏
得分:0 
好的,谢谢阿~~
2006-03-30 08:45
熬着过青春
Rank: 1
等 级:新手上路
帖 子:29
专家分:0
注 册:2006-3-30
收藏
得分:0 
回复:(byf0138)小问题求助,我是初学者!
char operator1 = args[1].charAt(0);


你能把这一行和我说说吗?是什么意思啊?
args[1].为什么要加个1呢??
我是菜鸟,别笑我问的问题太菜啊
谢谢

我为JAVA疯狂!
2006-03-31 14:34
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
收藏
得分:0 
char operator1 = args[1].charAt(0);
这表示从命令行的参数里面取第二个数(下标为1)
然后从这个数中取最前面那个字符(下标为0)

因为在JAVA中,下标都是从0开始的,所以取第n个数的时候,实际下标为(n-1)

可惜不是你,陪我到最后
2006-03-31 15:37
梦想成就未来
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2006-3-31
收藏
得分:0 
回答的很出色!!
2006-04-01 13:24
快速回复:小问题求助,我是初学者!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.024244 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved