首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何根据用户输入中断代码的执行

如何根据用户输入中断代码的执行
EN

Stack Overflow用户
提问于 2022-02-27 21:09:30
回答 3查看 81关注 0票数 0

所以我正在做一个数字计数器,基本上我希望它显示123,以及哪个数字是哪个位置值,例如123。

代码语言:javascript
复制
------------------------------------
Enter any number: 123
Ones: 3
Tens: 2
Hundreds: 1
------------------------------------

这是我的密码

代码语言:javascript
复制
import java.util.Scanner;

public class digits {

    public static void main(String[] args) 
    {
        Scanner scann = new Scanner(System.in);
        System.out.print("Enter any number: ");
        
        int number = scann.nextInt();
        
        int num1 = number % 10;
        int num2 = number / 10 % 10;
        int num3 = number / 100 % 10;
        int num4 = number / 1000 % 10;
        int num5 = number / 10000 % 10;
        int num6 = number / 100000 % 10;
        int num7 = number / 1000000 % 10;
        int num8 = number / 10000000 % 10;
        scann.close();
        
        System.out.println("Ones: "+num1);
        System.out.println("Tens: "+num2);
        System.out.println("Hundreds: "+num3);
        System.out.println("Thousands: "+num4);
        System.out.println("Ten-Thousands: "+num5);
        System.out.println("Hundred-Thousands: "+num6);
        System.out.println("Millions: "+num7);
        System.out.println("Ten-Millions: "+num8);

        }
    }

如果我只键入123,如何阻止它打印其余的内容?

我的输出

代码语言:javascript
复制
--------------------------
Enter any number: 123
Ones: 3
Tens: 2
Hundreds: 1
Thousands: 0
Ten-Thousands: 0
Hundred-Thousands: 0
Millions: 0
Ten-Millions: 0
------------------------

我想要的输出

代码语言:javascript
复制
--------------------------
Enter any number: 123
Ones: 3
Tens: 2
Hundreds: 1
------------------------
EN

回答 3

Stack Overflow用户

发布于 2022-02-27 21:35:01

您需要在代码中引入一个条件(或多个条件)。

您可以使用一系列if语句来实现这一点。但是更好的方法是使用循环。因为这将允许您摆脱中间变量(num1num2等),并避免重复在consol上打印剩余部分的代码行。这将使代码更加可读性和简洁性。

为了能够应用循环来解决这个问题,您需要创建一个字符串的数组,它将存储所有的量词(“1:”、"Tens:“等等)。

可以这样做:

代码语言:javascript
复制
public static final String[] quantifiers =
           {"Ones: ", "Tens: ", "Hundreds: ", "Thousands: ",
            "Ten-Thousands: ", "Hundred-Thousands: ", "Millions: ", "Ten-Millions: "};
代码语言:javascript
复制
public static void main(String[] args) {
    Scanner scann = new Scanner(System.in);
    int number = scann.nextInt();

    for (int i = 0; i < quantifiers.length && number > 0; i++) {
        System.out.println(quantifiers[i] + number % 10);
        number /= 10; // does the same as number = number / 10;
    }
}

输入123的输出

代码语言:javascript
复制
Ones: 3
Tens: 2
Hundreds: 1
票数 2
EN

Stack Overflow用户

发布于 2022-02-27 21:30:32

您的代码正在打印所有数字,因为这就是您所写的:

代码语言:javascript
复制
System.out.println("Ones: "+num1);

...and等。

如果您不想打印例如千,只需删除println数千。如果您只想在实际输入数千的情况下打印它们,请添加一个if语句:

代码语言:javascript
复制
if (num4 > 0) {
   System.out.println("Thousands: "+num4);
}

为其他人重复。

票数 0
EN

Stack Overflow用户

发布于 2022-02-27 21:37:00

也许能帮上你的忙。由于硬编码的术语,如‘几十’或‘数百’,它是不够通用的。

代码语言:javascript
复制
public static void main(String[] args) {
    Scanner scann = new Scanner(System.in);
    System.out.print("Enter any number: ");

    int number = scann.nextInt();

    int length = String.valueOf(number).length();

    for(int i=0; i< length; i++){

        if(i == 0){
            System.out.println("Ones: "+ number % 10);
        }else if(i == 1)
            System.out.println("Tens: " + number / 10 % 10);
        else if(i == 2)
            System.out.println("Hundreds: "+  number / 100 % 10);
        else if(i == 3)
            System.out.println("Thousands: "+ number / 1000 % 10);
        else if(i == 4)
            System.out.println("Ten-Thousands: "+ number / 10000 % 10);
        else if(i == 5)
            System.out.println("Hundred-Thousands: "+ number / 100000 % 10);
        else if(i == 6)
            System.out.println("Millions: "+ number / 1000000 % 10);
        else if(i == 7)
            System.out.println("Ten-Millions: " + number / 10000000 % 10);
    }
    scann.close();

}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71288480

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档