到目前为止,我已经运行了这个程序,但我在这部分得到了库存:程序应该一直提示用户输入一个新单词,直到用户输入表示有效二进制数的单词为止。我知道我想要使用一个循环,但我不知道放在哪里。
package programming_assignment_1;
import java.util.Scanner;
public class Programming_Assignment_1 {
public static void main(String[] args) {
// TODO code application logic here
Scanner sc = new Scanner(System.in);
System.out.print("Please imput a binary number : ");
String binary;
binary = sc.next();
boolean isBinary = true;
char[] values = binary.toCharArray();
for(int i=0; i<values.length; i++)
{
if( (values[i] != '0') && (values[i] != '1') )
{
isBinary = false;
break;
}
}
if(!isBinary)
{
System.out.println("this is not a binary number");
}
else
{
for(int i=0; i<1; i++)
{
String consecutive1s = "111";
if (binary.indexOf(consecutive1s) != -1)
{
System.out.println("accepted");
}
else
{
System.out.println("rejected");
}
}
}
}
}
答案 0 :(得分:3)
将代码放在do...while(..)
循环下。类似的东西:
do {
//read number
//process number
// if num valid or operation is finished break the loop using break
} while (condtion);
我会使用您的代码提供解决方案,但似乎您是新手,需要学习Java中的基本知识。所以我给了你一些提示。
答案 1 :(得分:0)
...
public static void main(String[] args) {
// TODO code application logic here
boolean accepted = false;
while(!accepted) {
Scanner sc = new Scanner(System.in);
...
if(!isBinary) {
System.out.println("this is not a binary number");
} else {
accepted = true;
...
}
...
} // while
} // main
此外,我不确定你的“for”循环 - 它不会给你的程序添加任何东西,因为它只执行一次......