-1
在這個程序中,我試圖得到以下輸出的情況下,運算符更正,在這裏,我想得到輸出來檢查一個字符串是否是一個有效的算術表達式,然後打印有效&如果沒有(例如。 a +,b +或a + b +或ab = c * d-等等..)所以我在Java中設計了這個代碼,但是我沒有得到輸出,當我嘗試循環檢查問題時,值在循環之外沒有被改變。任何人都可以幫我解決這個問題嗎?任何人都可以幫助我嗎?我沒有得到輸出
代碼:
import java.util.Scanner;
public class InvalidOperatorCheck {
public static void main(String[] args){
int i = 0;
boolean flag = false;
Scanner scan = new Scanner(System.in);
System.out.println("Enter the Expression to test the string");
String expression = scan.next();
while (expression.isEmpty()) {
if (i % 2 == 1) {
if (expression.equals("+") || expression.equals("-") || expression.equals("/") || expression.equals("*"))
flag = false;
}
if (expression.length() - 1 == i) {
if (expression.contentEquals("[a-zA-Z]"))
flag = true;
} else {
flag = false;
}
i++;
i++;
}
if (flag == false) {
System.out.println("\nNot Valid\n");
} else {
System.out.println("\nValid\n");
}
}
}
您創建了一個無限循環,要麼永不運行或從未停止。如果一旦條件成立,或者循環將永不停止,就必須讓您的條件成爲假。目前它很可能永遠不會運行,因爲你的條件是錯誤的,你只進入循環,如果**沒有輸入** –
@ 911DidBush if(!expression.isEmpty()){scan.nextline() – Jelle
@Viral Prajapati檢查你的而條件應該是'while(!expression.isEmpty()){//這裏是你的代碼}'。 –