接受两个整数的方法,并在它们之间打印数字序列

时间:2014-04-09 02:41:29

标签: java if-statement for-loop integer

我是java的初学者,如果有人能帮我这个程序,我真的很感激。 我现在正在研究这个问题,我相信我需要使用scanner,int,loop和if / else语句。该计划的描述如下:

编写一个名为printRange的方法,它接受两个整数作为参数,并在两个参数之间打印数字序列,用方括号括起来。如果第一个参数小于第二个参数,则打印递增序列;否则,打印一个递减的序列。如果两个数字相同,则应在方括号之间打印该数字。以下是对printRange的一些示例调用:

printRange(2,7);

printRange(19,11);

printRange(5,5);

产生的输出应如下:

[2,3,4,5,6,7]

[19,18,17,16,15,14,13,12,11]

[5]

我已经写了一些,我不知道在printRange方法中该怎么做。我相信我需要一些东西,以便我可以使循环工作。我也不知道如何使数字在[]和空间中。如果你可以帮助我的代码工作那将是非常有用的......

import java.util。*; //对于扫描仪

公共类PrintRange

{//开始类PrintRange

public static void main(String[] args)

  { //begin main method

    Scanner console = new Scanner(System.in);

    System.out.println("This program prints the sequence of numbers between the two numbers that you give");

    //obtain values
    System.out.println("Enter two numbers (x,y)");
    System.out.print("Number x: ");
    int x = console.nextInt();
    System.out.print("Number y: ");
    int y = console.nextInt();      

    int sequence;
    sequence = printRange(x,y);

    System.out.println("The sequence of your number is " + sequence);

  } //end main method

public static int printRange(int x, int y)
  { //begin printRange method   
    //this method accepts two parameters and return an integer
int 
    if (x > y)
    { //begin if statement
      //x is larger than y
        for (int i = x; i <= y; i++)
        {//begin for loop i
        System.out.print("[" + i + "]");
        range = range + i;
        }//end for loop i

    } //end if method

    else if (x < y)
    { //begin else if method
      //x is smaller than y
        for (int j = x; j >= y; j--)
        {//begin for loop j
        System.out.print("[" + j + "]");
        range = range + j;
        }//end for loop j
    } //end else if method

    else if (x == y)
    { //begin else if method
      //x is equal to y
        System.out.print(x);
        range = range + x;
    } //end else if method
return range;
  } //end printRange method

} //结束类PrintRange

提前致谢!

3 个答案:

答案 0 :(得分:0)

因为你正在学习这个,所以我不会为你编写代码。我会给你提示。

1.import java.util.Scanner如果你还没有。

2.for循环是:for(int i= 0;i<parameter.length();i++)

3.在这里查看.substring():http://www.tutorialspoint.com/java/java_string_substring.htm

4.扫描仪的工作原理如下:

System.out.println("HERE you put what you ask the user for input");
int input = input.nextInt(); //this stores the user's input in var input

5.祝你好运!我建议你运行for循环并使用计数器i上的子字符串。

答案 1 :(得分:0)

溶液:

public static void printRange( int x, int y) {
  if(y  > x) {
    for (int  j = x; j <= y; j++) {
        int i = 1*j + (x - 1);
        System.out.print(j + " ");
    }
  } 
  else if (x > y){
    for (int j = x; j>= y; j--) {
        int i = -1*y + (x -y +1) * 2  +1;
        System.out.print(j + " ");
    }
  } 
  else {
    System.out.print(x);
  }
}

答案 2 :(得分:0)

public void printRange(int int1, int int2) { 
if (int1<=int2){
    for (int i = int1; i <=int2; i++) { 
        System.out.print(i + " ");
    }
} else {
    for (int i = int1; i >=int2; i--) { 
        System.out.print(i + " ");
    }
}
}