gpt4 book ai didi

java - 当我进入循环时我无法退出

转载 作者:行者123 更新时间:2023-12-01 14:01:47 25 4
gpt4 key购买 nike

import java.util.*;

public class ConvertBinaryToInteger{
public static void main(String[] args){

Scanner scan = new Scanner(System.in);
final String EXIT="exit";


System.out.println("This program will convert a binary into an integer.");
System.out.println("Enter "+EXIT+" to exit program. Press enter to continue.");
String word=scan.nextLine();

while(!word.equals(EXIT)){

while(!word.equals(EXIT)){
boolean valid = false;
while (!valid) {
System.out.println("Enter a binary number: ");
String binary = scan.next();
boolean isBinary = true;//first convert the 'binary' string into a char array and check for each char whether it is zero or one
char[] bits = binary.toCharArray();

for(int j=0; j<bits.length; j++){//read the inputs

if( (bits[j] != '0') && (bits[j] != '1') ){//check the inputs
isBinary = false;
break;
}
}
if(!isBinary){//not binary
System.out.println("This is not a binary number.");
System.out.println("Please enter a number that contains only 1's and 0's.");
System.out.println("Enter "+EXIT+" to exit program. Press enter to continue.");
word=scan.nextLine();
}
else{//binary
int integer = 0;
int temp;
int i = 0;
temp = Integer.parseInt(binary);

while (temp != 0){
int r = temp % 10;
double value = r * Math.pow(2, i);
i++;
integer = (int) (integer + value);
temp /= 10;
}
System.out.println("Integer of " + binary + " is " + integer+".");
System.out.println("Enter "+EXIT+" to exit program. Press enter to continue.");
word=scan.nextLine();
}
System.out.println();
scan = new Scanner(System.in);
}


}



}System.out.println("Program ended.");
}

}

输入正确的二进制文件后无法退出。请帮我改一下程序...如果您一开始就没有退出,则无法结束该程序..

最佳答案

while (!valid) {

valid 永远不会更新。如果他们想退出,请将 valid 设置为 true 并更新 word 的值。

正如@AnthonyGrist所指出的,完全删除while(!valid)循环也将解决这个问题。

关于java - 当我进入循环时我无法退出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19299425/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com