【发布时间】:2020-06-25 15:22:03
【问题描述】:
这是我的第一个 Java 程序之一,我很困惑为什么它不起作用。帮忙?
此外,尽管 'input' 被赋予了正确的值,else 语句仍会打印。是否有我缺少的条件语句的结构?
package beginning;
import java.util.Scanner;
import java.lang.Math;
// VERY BROKEN
public class BinaryDecimalConverter {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc = new Scanner(System.in);
System.out.println("Number Base To Convert: 1) Binary 2) Decimal ::");
String binOrDec = sc.next();
System.out.println("Enter Number ::");
long number = sc.nextInt();
double result = 0;
if ((binOrDec.equals("1")) || (binOrDec.equals("Binary"))) {
char[] bin = ("" + number).toCharArray(); // conversion must be String >> char[]
int index = bin.length - 1;
double aggregate = 0;
for (int i = 0; i < bin.length; i++) {
aggregate = ((Math.pow(2, i)) * (bin[index])); // when using Math.pow(a, b) - a must be 'double' data type
index = index - 1;
result = result + aggregate;
}
}
if (binOrDec.equals("2") || binOrDec.equals("Decimal")) {
// decimal-binary converter, unfinished.
}
else {
System.out.println("Invalid Input");
}
System.out.println("" + number + " >> " + result);
sc.close();
}
}
【问题讨论】:
标签: java binary conditional-statements decimal converters