Convert to binary - methods Write a program that takes in a positive integer as input, and outputs a string of 1's and 0's representing the integer in binary. For an integer x, the algorithm is: As long as x is greater than 0 Output x % 2 (remainder is either 0 or 1) x = x / 2 Note: The above algorithm outputs the 0's and 1's in reverse order. You will need to write a second function to reverse the string. Ex: If the input is: 6 the output is: 110 Your program must define and call the following two methods. The method integerToReverseBinary() should return a string of 1's and 0's representing the integer in binary (in reverse). The method reverseString() should return a string representing the input string in reverse. public static String integerToReverseBinary(int integerValue) public static String reverseString(String inputString)
Problem:
9.19 LAB: Convert to binary - methods
Write a program that takes in a positive integer as input, and outputs a string of 1's and 0's representing the integer in binary. For an integer x, the
As long as x is greater than 0
Output x % 2 (remainder is either 0 or 1)
x = x / 2
Note: The above algorithm outputs the 0's and 1's in reverse order. You will need to write a second function to reverse the string.
Ex: If the input is:
6
the output is:
110
Your program must define and call the following two methods. The method integerToReverseBinary() should return a string of 1's and 0's representing the integer in binary (in reverse). The method reverseString() should return a string representing the input string in reverse.
public static String integerToReverseBinary(int integerValue)
public static String reverseString(String inputString)
Java code:
import java.util.Scanner;
public class LabProgram {
/* Define your method here */ public static String integerToReverseBinary(int integerValue) {
String x="";
while (integerValue > 0) {
x = x + integerValue %2;
integerValue=integerValue/2;
}
return x;
}
public static String reverseString(String inputString) {
String x="";
for (int i=inputString.length(); i>=0; i--) {
x=x+inputString.charAt(i);
}
return x;
}
public static void main(String[] args) {
/* Type your code here. */
Scanner scnr = new Scanner(System.in);
int num=scnr.nextInt();
String binary = reverseString(integerToReverseBinary(num));
System.out.print(binary);
//From past errors: can't use integerToReverseBinary(num) in pring cuz integer can't be converted to String...
//so either create String variales for each method, like String revX = integerToReverseBinary(num);
//& String rev=reverseString(revX); or combine the methods into a String variable
}
}
My errors:
: Compare output
0 / 2
Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: 3
at java.base/java.lang.StringLatin1.charAt(StringLatin1.java:47)
at java.base/java.lang.String.charAt(String.java:693)
at LabProgram.reverseString(LabProgram.java:17)
at LabProgram.main(LabProgram.java:27)
Input
6
Your output
Your program produced no output
Expected output
110
2: Unit test
0 / 2
Convert 19 to binary using integerToReverseBinary() and reverseString()
java.lang.StringIndexOutOfBoundsException: String index out of range: 5
3: Unit test
0 / 3
Convert 255 to binary using integerToReverseBinary() and reverseString()
java.lang.StringIndexOutOfBoundsException: String index out of range: 8
4: Unit test
0 / 3
Convert 122 to binary using integerToReverseBinary() and ReverseString()
java.lang.StringIndexOutOfBoundsException: String index out of range:
Trending now
This is a popular solution!
Step by step
Solved in 3 steps with 6 images