首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >我正在尝试循环一个数字并用另一种方法打印它。

我正在尝试循环一个数字并用另一种方法打印它。
EN

Stack Overflow用户
提问于 2016-02-05 08:46:27
回答 1查看 21关注 0票数 0

所以我的想法是,我从用户那里得到一个数字,这是这个数字的小数位数。然后我打印出他的许多小数位的每一个可能的结果。

因此,如果用户输入"2“,那么它将输出01 02 03 ... 99。我还必须将这个数字存储为字符串。我很难让数字循环,它会在每次循环后重置。这是我的代码。

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

public class Hw2 {

    public static void main(String[] args) {

        Scanner in = new Scanner(System.in);
        diff here = new diff();
        String res;
        String d = "0";

        do {
            System.out.println("Enter 1 to enter length of number: ");
            System.out.println("q. quit: ");

            System.out.print("select:");
            res = in.next();
            in.nextLine();

            switch(res.charAt(0)) {
            case '1':
                // get n from user
                System.out.print("Enter the length of string: ");
                int n = in.nextInt();
                diff.printDecimal(n, d);
                break;
            case 'q': case 'Q':
                System.out.println("Bye!");
                break;
            default:
                System.out.println("Invalid");
                break;
            }
        } while (res.charAt(0) != 'q' && res.charAt(0) != 'Q');
    }
    }



class diff {

    // print string
    static void printDecimal (int n, String d) {
        String maxNum = "9";
        while( maxNum.length() < n ) {
            maxNum += 9;
        }
        while (d != maxNum) {
            System.out.println(inDecimal(n, d));
        }

    }

    // increase string value by 1
    static String inDecimal(int n, String d) {
        String d2 = "";
        int d3 = Integer.parseInt(d);
        d3++;
        d = Integer.toString(d3);
        //d = String.valueOf(d) + 1;
        while( d.length() < n ) {
            d2 = "0" + d;
            d = d2;
        }
        System.out.println(d);
        return d;
    }
}

谢谢你的帮助!!另外,为了记录在案,我通常会带着这样的问题去找家教,但他们本学期还没有聘请家教。

EN

回答 1

Stack Overflow用户

发布于 2016-02-05 08:53:42

像这样的东西?

代码语言:javascript
运行
复制
int places = 2;

for (int i = 0; i < Math.pow(10, places); i++) {
    System.out.printf("%0" + places + "d\n", i);
}

像这样的字符串格式是一个有两位零填充的数字。

输出

代码语言:javascript
运行
复制
00
01
02
03
04
05
06
07
08
09
10
...
99
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35214465

复制
相关文章

相似问题

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