Java 拒绝相同数量的重复项
以下是我应该做什么的说明 编写一个程序,输入表示二进制数的字符串。 该字符串只能包含0和1,不能包含其他字符,不能包含其他字符 偶数空间 验证输入的编号是否符合这些要求。如果有 否则,显示错误消息。如果它是一个有效的二进制数, 确定它包含的1数。如果它正好有两个1, 显示“已接受”。否则,显示“已拒绝” 所有输入和输出都应来自控制台。这里有一些样品 要测试的输入: abc 10102011 10101FF 0000 1111(注意本测试用例中的空格)Java 拒绝相同数量的重复项,java,Java,以下是我应该做什么的说明 编写一个程序,输入表示二进制数的字符串。 该字符串只能包含0和1,不能包含其他字符,不能包含其他字符 偶数空间 验证输入的编号是否符合这些要求。如果有 否则,显示错误消息。如果它是一个有效的二进制数, 确定它包含的1数。如果它正好有两个1, 显示“已接受”。否则,显示“已拒绝” 所有输入和输出都应来自控制台。这里有一些样品 要测试的输入: abc 10102011 10101FF 0000 1111(注意本测试用例中的空格) 00000000 1111011100000
00000000 111101110000001 1000001 到目前为止,我在这里写的是:
import java.util.Scanner;
import java.util.Set;
class ValidateBinary1
{
public static void main(String args[])
{
Scanner input = new Scanner(System.in);
System.out.println("Enter a binary number: ");
String binary = input.nextLine();
boolean isCorrect = true;
boolean notCorrect = false;
for(int i = 0; i <= binary.length() - 1; i++)
{
if(binary.charAt(i) == '1')
{
isCorrect = true;
}
else if(binary.charAt(i) != '0' & binary.charAt(i) != '1')
{
isCorrect = false;
System.out.println("Wrong input! Please enter a valid binary number");
}
}
if(isCorrect)
System.out.println("Accepted");
else if(notCorrect)
System.out.println("Rejected");
}
}
import java.util.Scanner;
导入java.util.Set;
类ValidateBinary1
{
公共静态void main(字符串参数[])
{
扫描仪输入=新扫描仪(System.in);
System.out.println(“输入二进制数:”);
字符串binary=input.nextLine();
布尔值isCorrect=true;
布尔notCorrect=false;
对于(int i=0;i尝试此操作(您使用的是位运算符&
而不是逻辑运算符&&
)但是我不认为使用&&other是正确的;您必须使用按位或| |
。此外,您没有检查1的数量,根据您的问题描述,输入字符串中的1的数量必须正好是2
public static void main(String args[]){
Scanner input = new Scanner(System.in);
System.out.println("Enter a binary number: ");
String binary = input.nextLine();
boolean isCorrect = true;
short numberOfOnes = 0;
for(int i = 0; i <= binary.length() - 1; i++)
{
if(binary.charAt(i) == '1')
{
numberOfOnes++;
}
else if(! (binary.charAt(i) == '0' || binary.charAt(i) == '1'))
{
isCorrect = false;
System.out.println("Wrong input! Please enter a valid binary number");
break;
}
}
if(isCorrect && numberOfOnes == 2)
System.out.println("Accepted");
else
System.out.println("Rejected");
}
publicstaticvoidmain(字符串参数[]){
扫描仪输入=新扫描仪(System.in);
System.out.println(“输入二进制数:”);
字符串binary=input.nextLine();
布尔值isCorrect=true;
短数名词=0;
对于(int i=0;ipublicstaticvoidmain(String[]args){
扫描仪输入=新扫描仪(System.in);
System.out.println(“输入二进制数:”);
字符串binary=input.nextLine();
布尔值isCorrect=true;
布尔值isCountCorrect=true;
对于(int i=0;i2){
isCountCorrect=false;
}
}
如果(isCorrect=true&&isCountCorrect==true){
系统输出打印项次(“批准”);
}否则
系统输出打印项次(“拒绝”);
}
我们开始吧。我拿了其中一个答案,用它来修改我的代码,并得出了以下结论:
import java.util.Scanner;
import java.util.Set;
class ValidateBinary1
{
public static void main(String args[])
{
Scanner input = new Scanner(System.in);
System.out.println("Enter a binary number: ");
String binary = input.nextLine();
boolean isCorrect = true;
short numberOfOnes = 0;
for(int i = 0; i <= binary.length() - 1; i++)
{
if(binary.charAt(i) == '1')
{
numberOfOnes++;
}
else if(binary.charAt(i) != '0' && binary.charAt(i) != '1')
{
isCorrect = false;
System.out.println("Wrong input! Please enter a valid binary number");
}
}
if(isCorrect && numberOfOnes == 2)
System.out.println("Accepted");
else
System.out.println("Rejected");
}
}
import java.util.Scanner;
导入java.util.Set;
类ValidateBinary1
{
公共静态void main(字符串参数[])
{
扫描仪输入=新扫描仪(System.in);
System.out.println(“输入二进制数:”);
字符串binary=input.nextLine();
布尔值isCorrect=true;
短数名词=0;
对于(int i=0;i)您当前的代码有什么错误?按位运算符&
和逻辑运算符&
不相同。您的逻辑也不正确请检查我的答案。我需要它做的是(当我运行程序时)如果我键入的“1”多于或少于两个,请拒绝我的输入这似乎是一条正确的道路。我现在遇到的问题是,即使我只输入两个1,它也会拒绝它。此外,我必须使用&&而不是| |,因为当我使用| |时,它会告诉我输入的所有内容都是错误的格式。
import java.util.Scanner;
import java.util.Set;
class ValidateBinary1
{
public static void main(String args[])
{
Scanner input = new Scanner(System.in);
System.out.println("Enter a binary number: ");
String binary = input.nextLine();
boolean isCorrect = true;
short numberOfOnes = 0;
for(int i = 0; i <= binary.length() - 1; i++)
{
if(binary.charAt(i) == '1')
{
numberOfOnes++;
}
else if(binary.charAt(i) != '0' && binary.charAt(i) != '1')
{
isCorrect = false;
System.out.println("Wrong input! Please enter a valid binary number");
}
}
if(isCorrect && numberOfOnes == 2)
System.out.println("Accepted");
else
System.out.println("Rejected");
}
}