我是java的新手,我需要建议来修复这个代码,我需要编写一个Java程序来显示百位数、十位数和三位数的个位数的值。到目前为止,这就是我所知道的,有什么想法可以让它工作吗?我没有收到任何错误,但我的数字甚至不能正确地输出到控制台。例如,如果我输入123作为我的3位数字,所有内容都打印为空白。例如:
输入3位数字: 123百位数字:十位数字:一位数字:错误!3位以上的数字。错误!少于3位数的数字。
例如,它没有检测到我输入的'123‘,或者我输入的任何其他东西。
import java.util.Scanner;
public class ValueOfDigits {
public static void main(String[] args) {
//Create new scanner
Scanner input = new Scanner(System.in);
//Values of each digit
int hundreds = 0;
int tens = 0;
int ones = 0;
//Prompt user to input 3 digit number
System.out.print("Enter a 3 digit number: ");
int number = input.nextInt();
//Displays hundreds place digit
hundreds = number / 100;
System.out.printf("Hundreds place digit: " , hundreds);
//Displays tens digit
tens = (number - hundreds) / 10;
System.out.printf("\nTens place digit: " , tens);
//Display ones digit
ones = (number - tens - hundreds);
System.out.printf("\nOnes place digit: " , ones);
//Error if number is less or more then three digits
if (number > 999);
System.out.println("\nError! Number more then 3 digits.");
if (number < 100);
System.out.println("Error! Number less then 3 digits.");
}
}
发布于 2016-09-11 03:48:26
将System.out.printf("Hundreds place digit: " , hundreds);
替换为System.out.println("Hundreds place digit: " + hundreds);
,然后删除if
-statments之后的;
。
如果你想使用printf
,可以看看这个:https://docs.oracle.com/javase/7/docs/api/java/io/PrintStream.html#printf(java.lang.String,%20java.lang.Object...)
发布于 2019-04-29 00:14:05
我们可以在Java中使用如下所示的简单代码来获取1、100或任何其他位的值:
int n=356;
int one=(n/1)%10;
int tens= (n/10)%10;
int hundred = (n/100)%10;
发布于 2016-09-11 03:58:00
计算十位数和一位数的误差很小。
//Displays tens digit
tens = (number %100) / 10;
System.out.println("Tens place digit: " + tens);
//Display ones digit
ones = number %10;
System.out.println("Ones place digit: " ,+ ones);
删除if条件后的分号。
同样,3位数检查应在读取数字后立即执行。否则,对于无效的数字将进行无意义的计算。
https://stackoverflow.com/questions/39429666
复制相似问题