我如何让我的答案看起来像[z1,z2 ......]

时间:2015-04-07 05:16:33

标签: java

我正在制作一个节目。我已经得到了我的最终结果,但没有得到所需的格式。我的要求是输出的格式应该是[z1,z2 ...]

public class Range {

    public static void main(String[] args) {

        Scanner console = new Scanner(System.in);
        System.out.println("Please input your frist number.");
        int input1 = red(console);

        System.out.println("Please input your second number.");
        int input2 = red(console);
        printRange(input1, input2);
    }

    public static int red(Scanner console) {
        int x = console.nextInt();
        return x;
    }

    public static void printRange(int input1, int input2) {

        if (input1 > input2) {
            for (int Z = input1; Z >= input2; Z--) {
                System.out.print("[" + Z + "]");
            }
        } 
        else if (input1 < input2) {
            for (int Z = input1; Z <= input2; Z++) {
                System.out.print("[" + Z + "]");
            }
        } 
        else {
            System.out.print("[" + input1 + "]");
        }
    }
}

2 个答案:

答案 0 :(得分:1)

public static void printRange(int e, int r){
    int [] result = new int[1];
    if(e<r){
        result = new int[r-e];
        for(int i=0;i<(r-e);i++)
            result[i]=e+i+1;
    }else if(r<e){
        result = new int[e-r];
        for(int j=0;j<(e-r);j++)
            result[j]=r+j+1;
    }else
        result[0]=e;
    System.out.println(Arrays.toString(result));
}

答案 1 :(得分:-1)

尝试以下代码,希望这就是您所需要的:

import java.util.Scanner;

public class Range {
    public static void main(String[] args) {
        Scanner console = new Scanner(System.in);
        System.out.println("Please input your frist number.");
        int input1 = red(console);
        System.out.println("Please input your second number.");
        int input2 = red(console);
        printRange(input1, input2);
    }

    public static int red(Scanner console) {
        int x = console.nextInt();
        return x;
    }

    public static void printRange(int input1, int input2) {
        System.out.print("[");

        if (input1 > input2) {
            for (int Z = input1; Z >= input2; Z--) {
                if(Z != input1){
                    System.out.print( ", " );
                }
                System.out.print( Z );
            }
        } else if (input1 < input2) {
            for (int Z = input1; Z <= input2; Z++) {
                if(Z != input1){
                    System.out.print( ", " );
                }
                System.out.print( Z );
            }
        } else {
            System.out.print( input1 );
        }
        System.out.print( "]" );
    }
}

修改 说明:这是获取所需输出所需的内容。

  1. 当你说你希望所有数字都包含在[]中时,你需要做的就是从循环中取出括号,这样它们只打印一次。在添加数字后添加数字和结束括号之前打开括号。
  2. 如果要在括号中添加字符串列表,则需要两个数字之间的分隔符(,)。因此我在添加每个数字之前添加了一个print语句。 if条件限制在第一个数字之前添加分隔符。