2015-04-07 47 views
1

我正在開發一個程序。我得到了我的最終結果,但不是所需的格式。我的要求是輸出應像被格式化[Z1,Z2 ...]我如何讓我的答案看起來像[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 + "]"); 
     } 
    } 
} 
+0

它是java,它不能運行使用片段。此外,我已經重申了它。 –

+2

精彩的縮進,絕對不會讓你感到困惑;) –

回答

-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. 當您想要在括號中添加字符串列表時,您將需要兩個數字之間的分隔符(,)。因此,我添加了一個打印語句,然後添加每個數字。 if條件限制在第一個數字之前添加分隔符。
+0

謝謝你,這是我正在尋找的最終產品上的一個亮點,但是我想知道是否有反正我可以解釋你是如何得到它的事實證明這是爲了教育目的。 –

+0

新增說明。請參閱編輯... – Anshuman

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)); 
} 
相關問題