/home/caleb/ASDV-Java/Semester 3/Assignments/MP3_Recursion_CalebFontenot/src/mp3_recursion_calebfontenot/DecimalToBinary.java |
package mp3_recursion_calebfontenot;
import java.util.Scanner;
public class DecimalToBinary {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
while (true) {
System.out.print("Enter a decimal integer: ");
int decimal = input.nextInt();
System.out.println(decimal + " is " + decimalToBinary(decimal) + " in binary.");
}
}
public static String decimalToBinary(int value) {
return reverse(decimalToBinary(value, ""));
}
public static String decimalToBinary(int value, String bin) {
if (value == 0) {
return bin += "";
} else if (value > 0) {
if (value % 2 == 1) {
return decimalToBinary((int) Math.floor(value / 2), bin + "1");
} else {
return decimalToBinary((int) Math.floor(value / 2), bin + "0");
}
}
return "0 naht ssel si eulav";
}
public static String reverse(String input) {
String returnString = "";
for (int i = input.length() - 1; 0 <= i; --i) {
returnString += input.charAt(i);
}
return returnString;
}
public static String decimalToBinaryIterative(int value) {
String bin = "";
while (value > 0) {
if (value % 2 == 1)
bin += "1";
else
bin += "0";
value /= 2;
}
return reverse(bin);
}
}