[英]Java Calculator using StringTokenizer
我正在开发一个简单的计算我的输入3 + 3
我可以用空格(3 + 3)来做,但是如果没有空格(3 + 3)怎么办呢!
这是我的最后一个代码,我知道这是错误的,但我仍在学习!
package calcPkg;
import java.util.Scanner;
import java.util.StringTokenizer;
public class test {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
String myString = input.nextLine();
String DELIM = "+";
double dblNum1 = 0;
double dblNum2 = 0;
double dblResult = 0;
StringTokenizer st = new StringTokenizer(myString, DELIM, true);
dblNum1 = Double.parseDouble(st.nextToken());
//dblNum2 = Double.parseDouble(st.nextToken());
dblNum2 = 2;
dblResult = dblNum1 + dblNum2;
while (st.hasMoreTokens())
System.out.println(st.nextToken());
System.out.println("First Number:" + dblNum1);
System.out.println("Operation:" + DELIM);
System.out.println("Second Number:" + dblNum2);
System.out.println("Result:" + dblResult);
}
}
我猜您的问题是处理空格,您不需要StringTokenizer来返回“ +”,因此您不需要StringTokenizer的第三个参数,一旦获得了令牌,您就可以使用字符串的trim()函数
public class Test {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
String myString = input.nextLine();
String DELIM = "+";
StringTokenizer st = new StringTokenizer(myString, DELIM);
double dblNum1 = Double.parseDouble(st.nextToken().trim());
double dblNum2 = Double.parseDouble(st.nextToken().trim());
double dblResult = dblNum1 + dblNum2;
System.out.println("First Number:" + dblNum1);
System.out.println("Operation:" + DELIM);
System.out.println("Second Number:" + dblNum2);
System.out.println("Result:" + dblResult);
}
}
我为您编写了加法部分,但我猜您希望编写完整的+,-,* //算术计算器,以便您可以根据此处看到的内容完成此操作,但是,DELIM将使用条件式(如果或在Java中切换语句,因此您应该查找这些语句。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.