Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Write a program that inputs a string that represents a binary number. The string can contain only 0s and 1s and no other characters, not

Write a program that inputs a string that represents a binary number. The string can contain only 0s and 1s and no other characters, not even spaces. Validate that the entered number meets these requirements. If it does not, display an error message. If it is a valid binary number, determine the number of 1s that it contains. If it has exactly two 1s, display "Accepted". Otherwise, display "Rejected". All input and output should be from the console.

Examples of invalid binary numbers: abc 10102011 10101FF 0000 1111 (note: contains a space)

Examples of valid, rejected binary numbers: 00000000 1111 01110000001

Examples of valid, accepted binary numbers: 1000001 1100

Your program will only test one input for each run of the program. Testing each of the test cases requires a separate run of your program for each one.

The following 3 test runs illustrate the format of the program's console input and output:

Enter a binary number > abc Invalid binary number.

Enter a binary number > 01110000001 Rejected

Enter a binary number > 1000001 Accepted

Make sure you study the Final Project Guidance document.

Course Project Guidance ======================= Getting the input ----------------- Use the Scanner class nextLine method to input the binary number as a String. Use the String charAt() method in a "for" loop that varies the index of the character being examined. If your loop control variable is "i", then you will use charAt(i) in the loop body to be able to examine the character at position "i". As the loop progresses, you are able to get each character one-by-one. The characters in a String are indexed from 0 to 1 less than the number of characters in the String. The number of characters in the String can be determined by using the String length() method. Suppose you named the input String sInput. Then your "for" loop header would look like: for (int i = 0; i <= sInput.length() - 1; i++) Note that charAt() returns a character as type "char". For comparison, remember that character literals are enclosed in single quotation marks, like this: '1'. Error message ------------- When an invalid string is detected, display an error message, and then use a "return" statement to exit from the main method (ending the program). Purpose of "for" loop --------------------- You must think about and understand the purpose of your "for" loop. Don't try to fit your entire program into it. For example, the "for" loop could count the number of invalid characters (anything other than a '0' or a '1') and also it could count the number of '1's it found. Then, after the "for" loop is finished, that is after its closing brace, you could have other code with "if" and/or "else" statements to decide what to output. Of course, that means any variables you use in your post-"for" loop code must be declared prior to the start of the "for" loop so they will still be in scope after it finishes. 

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image_2

Step: 3

blur-text-image_3

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Practical Azure SQL Database For Modern Developers Building Applications In The Microsoft Cloud

Authors: Davide Mauri, Silvano Coriani, Anna Hoffma, Sanjay Mishra, Jovan Popovic

1st Edition

1484263693, 978-1484263693

Students also viewed these Databases questions

Question

Identify external recruitment sources.

Answered: 1 week ago