java dowhile循环用于计算输入数字中的数字。故障排除代码
我好像搞不懂。它总是显示数字有4位。我把输入限制限制在4位,我相信你会看到的
我尝试过改变模算子和其他基本的解决方案
//2019年3月28日 /*使用do-while循环编写一个Java程序,该循环接收用户输入的正整数或负整数,并报告该数字包含的位数。 *当用户输入0时,循环应该退出。提示:使用%和%来减少数字。 */
import java.util.Scanner;
public class Do_While_Swigart
{
public static void main(String [] args)
{
int number = 0;
int var = 0;
int var2, var3,var4,var5,var6 = 0;
int count = 0;
Scanner scan = new Scanner (System.in);
System.out.println("Hello! Please input a positive or negative whole number. Ex: 450");
number = scan.nextInt();
do
{
var = number % 10;
count = (var/var);
var2 = number % 100;
count += (var2/var2);
var3 = number %100;
count += (var3/var3);
var4 = number%1000;
count += (var4/var4);
var5 = number%10000;
} while ( var5 == 0);
System.out.println("Your number has "+count+" digits.");
}
}
# 1 楼答案
此代码将解决您的问题。此外,不需要使用%运算符,因为不需要提取每个数字。你只需要计算数字的个数,通过使用/operator,你就可以迭代你的循环,当数字减为零时,循环就会退出
举例说明:
假设输入的数字是:450 计数:1 数值:450/10=45
计数:2 数值:45/10=4
计数:3 数量:4/10=0
而条件为num>;0 . 现在循环将退出
希望这对你有帮助
# 2 楼答案
该代码考虑了问题的所有要求。尽管这可能很奇怪
# 3 楼答案
正如乔纳森所说,最好使用以下内容:
整数。toString(数字)。长度()
但是,如果你真的需要用do while loop来做,这可能对你有用: