Java 对某些代码进行错误检查

Java 对某些代码进行错误检查,java,Java,我做了错误的解释。现在我正在做更好的解释。我的问题是错误处理不是例外。下面是我的代码。例如,如果我不想输入非正整数,我可以用try catch检查吗 import java.util.Scanner; public static void main(String[] args) { System.out.println("Type in the expression with no empty spaces: "); Scanner sc = new Scanner(Syst

我做了错误的解释。现在我正在做更好的解释。我的问题是错误处理不是例外。下面是我的代码。例如,如果我不想输入非正整数,我可以用try catch检查吗

import java.util.Scanner;

public static void main(String[] args) {
    System.out.println("Type in the expression with no empty spaces: ");

    Scanner sc = new Scanner(System.in);
    String s = sc.nextLine();

    String[] tokens = split("[*,/,+,-");  

    for (int i = 0; i < 1; i++) {
        String delims = tokens[1];

        double n1 = Double.parseDouble(tokens[0]); 
        double n2 = Double.parseDouble(tokens[2]);

        switch(tokens) case1;"+"  System.out.println(n1+n2) // All cases
    }                       
}
import java.util.Scanner;
公共静态void main(字符串[]args){
System.out.println(“输入表达式,不带空格:”);
扫描仪sc=新的扫描仪(System.in);
字符串s=sc.nextLine();
字符串[]标记=拆分(“[*,/,+,-”;
对于(int i=0;i<1;i++){
字符串delims=tokens[1];
double n1=double.parseDouble(令牌[0]);
double n2=double.parseDouble(令牌[2]);
switch(tokens)case1;“+”System.out.println(n1+n2)//所有情况
}                       
}

您可以使用正则表达式检查表达式是否有效。
String
类提供了使用正则表达式验证字符串的
matches()
方法,例如:

String regex = "[0-9]+[-+/\\*][0-9]+";
String expression = "3+6"; 
System.out.println("3+6".matches(regex));
您可以在
if
条件中使用
匹配
来验证用户的输入。完成后,您可以使用“split(“\b”)”来提取操作数和运算符

更新

添加上述逻辑后的代码如下所示:

Scanner sc = new Scanner(System.in);
String s = sc.nextLine();
String regex = "[0-9]+[-+/\\*][0-9]+";
if(s.matches(regex)){
    String[] tokens = s.split("\\b");
    //Your logic
}else{
    System.err.println("Please try in a valid expression!");
}

我已经加了一个例子。不要误会我写了以前的作业可能重复的