用JAVA编写一个计算器或者摇号系统

大学课程设计,只要源代码,简单点的,最好有解释

第1个回答  2013-01-09
public class myselfjisuanqi {
public static void main(String args[]) {
Scanner sc = new Scanner(System.in);
String input = sc.next();
test(input);
}

public static void test(String input) {
int num = 0;
List<String> list = new ArrayList<String>();
char[] charArray = input.toCharArray();
for (int i = 0; i < charArray.length; i++) {
if (charArray[i] >= '0' && charArray[i] <= '9') {
num++;
if (i == charArray.length - 1) {
StringBuffer sb = new StringBuffer();
for (int j = i - num + 1; j <= i; j++) {
sb.append(charArray[j]);
}
list.add(sb.toString());
}
} else {
if (num == 0) {
System.out.println("您输入有误,已退出计算!");
break;
} else {
StringBuffer sb = new StringBuffer();
for (int j = i - num; j < i; j++) {
sb.append(charArray[j]);
}
list.add(sb.toString());
list.add(String.valueOf(charArray[i]));
num = 0;
}
}
}
result(list);
}

public static void result(List<String> list) {
int resultX = 0;
for (int i = 0; i < list.size(); i++) {
if (list.get(i).equals("*")) {
resultX =
Integer.parseInt(list.get(i-1)) * Integer.parseInt(list.get(i+1));
list.remove(i);
list.remove(i);
list.set(i - 1, String.valueOf(resultX));
i = 0;
continue;
}
}
for (int i = 0; i < list.size(); i++) {
if (list.get(i).equals("/")) {
resultX =
Integer.parseInt(list.get(i-1)) / Integer.parseInt(list.get(i+1));
list.remove(i);
list.remove(i);
list.set(i - 1, String.valueOf(resultX));
i = 0;
continue;
}
}
for (int i = 0; i < list.size(); i++) {
if (list.get(i).equals("+")) {
resultX =
Integer.parseInt(list.get(i-1)) + Integer.parseInt(list.get(i+1));
list.remove(i);
list.remove(i);
list.set(i - 1, String.valueOf(resultX));
i = 0;
continue;
}
}
for (int i = 0; i < list.size(); i++) {
if (list.get(i).equals("-")) {
resultX =
Integer.parseInt(list.get(i-1)) - Integer.parseInt(list.get(i+1));
list.remove(i);
list.remove(i);
list.set(i - 1, String.valueOf(resultX));
i = 0;
continue;
}
}
System.out.println(list.get(0));
}
}

之前没事时候写过的计算器,控制台输入输出,没有带括号的功能,加减乘除都OK本回答被提问者和网友采纳
第2个回答  2013-01-08
JAVA编写一个计算器或者摇号系统
|⑤| 能定做 +Q
第3个回答  2013-01-07
网上很多的,如果你要我的话,可以私信我。
第4个回答  2013-01-07
这太简单了 自己多动动手吧 搜一下也一大堆