我是Java初学者。我正在试着做一个练习。扫描器请求输入两次
P3.3编写一个程序,读取的整数,并且打印的数量多少位 具有通过检查的数量是否≥10,≥100,并在如此 。 (假设所有整数小于100亿)。如果 数字是负数,则首先将其与-1相乘。
问题是:我看到我必须在输入前输入两次输入。我知道,它的代码做:
if(in.hasNextInt()){
int number = in.nextInt();
}
但我应该在这种情况下,改变只需要一个输入,而不是2? 在此先感谢。
package week2;
import java.util.Scanner;
public class P3_3_Digits {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
System.out.print("Voer een getal in: ");
int number = in.nextInt();
if(in.hasNextInt()){
in.close();
if(number < 0){
number = number * -1;
if(number >= 10 && number < 100){
System.out.println("Het getal -" + number + " heeft 2 digits.");
}
else if(number >= 100 && number < 1000){
System.out.println("Het getal -" + number + " heeft 3 digits.");
}
else if(number >= 1000 && number < 10000){
System.out.println("Het getal -" + number + " heeft 4 digits.");
}
else if(number >= 10000 && number < 100000){
System.out.println("Het getal -" + number + " heeft 5 digits.");
}
else if(number >= 100000 && number < 1000000){
System.out.println("Het getal -" + number + " heeft 6 digits.");
}
else if(number >= 1000000 && number < 10000000){
System.out.println("Het getal -" + number + " heeft 7 digits.");
}
else if(number >= 10000000 && number < 100000000){
System.out.println("Het getal -" + number + " heeft 8 digits.");
}
}
else {
if(number >= 10 && number < 100){
System.out.println("Het getal " + number + " heeft 2 digits.");
}
else if(number >= 100 && number < 1000){
System.out.println("Het getal " + number + " heeft 3 digits.");
}
else if(number >= 1000 && number < 10000){
System.out.println("Het getal " + number + " heeft 4 digits.");
}
else if(number >= 10000 && number < 100000){
System.out.println("Het getal " + number + " heeft 5 digits.");
}
else if(number >= 100000 && number < 1000000){
System.out.println("Het getal " + number + " heeft 6 digits.");
}
else if(number >= 1000000 && number < 10000000){
System.out.println("Het getal " + number + " heeft 7 digits.");
}
else if(number >= 10000000 && number < 100000000){
System.out.println("Het getal " + number + " heeft 8 digits.");
}
}
}
else { System.out.println(" Onjuiste invoer. Voer een getal in.");
}
}
}
小动作来算位数INT长度=(INT)(Math.log10(N)+1)。 – Lemonov
thnx这个把戏! – Noor
删除无关标签,格式化引用 –