数组赋值帮助

Assignment help on arrays

Java赋值是提示用户输入存储在数组中的十个整数,调用传递数组的方法,该方法将以原始顺序和倒序显示值。

public class 模块 7 {

public static void main(String[] args) {

// prompt the user
System.out.println("Welcome to **yourNameHere**\'s 3 in 1 Programming Assignment (Arrays) for Module 7\n");

// create Scanner Object
Scanner input = new Scanner(System.in);

// loop until break
while(true){

    // new lines for readability
    System.out.print("\n");

    // Prompt user for choices
    System.out.print("\nEnter 1 Random Array \nEnter 2 Reverse Numbers\nEnter 3 Identical Arrays\nAny other input will exit");
    int choice = input.nextInt();
    // Consume newline left-over
    input.nextLine();

    // first feature
    if(choice == 1){
        System.out.println("You Selected Random Array");

        // call the method of feature 1
        feature1();

    }
    else if(choice == 2){

        // Prompt user
        System.out.println("You Selected Reverse Numbers\n");

        feature2();

    }
    else if(choice == 3){

        // Prompt user
        System.out.println("You Selected Identical Arrays !");
        // call the method of feature 3 providing the message, return value is the Letters message
        feature3();

    }
    else{

        // not 1 , 2 or 3
        System.out.println("User didn't select 1,2 or 3. Exiting Program\n");

        // release object
        input.close();

        // exit while with break statement
        break;
    }
} // end of while

} // 结束主

// 在此处创建 feature1() 方法 这里没问题,这个有效

private static void feature1(){

        int[] randomArray = new int[100];
        for (int i = 0; i< randomArray.length; i++)
            randomArray[i] = (int) (Math.random()*100);



        for (int i=0; i<randomArray.length; i++) {
            double currentMin = randomArray[i];
            int currentMinIndex = i;


            //not needed for just sorting
            for (int j=i+1; j<randomArray.length;j++) {
                if (currentMin > randomArray[j]) {
                    currentMin = randomArray[j];
                    currentMinIndex = j;
                }
            }

            //swap list[i] with list[currentMinIndex] if necessary
            if (currentMinIndex !=i) {
                randomArray[currentMinIndex] = randomArray[i];
                randomArray[i] = (int) currentMin;
            }
        }

        for (int i=0; i<randomArray.length; i++) {
              // print randomArray values
              if (i % 10 == 0 && i > 0) {
                  System.out.println();

            }
              System.out.print(randomArray[i] + " ");



            }

    }

//在此处创建 feature2() 方法 我似乎无法让它看起来像此处的示例。我无法让数字能够在 space 之间一次输入一个,然后将它们反转显示。仅当您连续输入所有 10 个数字且没有 spaces.

时才有效

private static void feature2(){

        System.out.print("Please enter 10 numbers ");
        java.util.Scanner input = new java.util.Scanner(System.in);
        double[] numbers = new double[10];

        System.out.print("\nEntered: ");
        for (int i = 0; i < numbers.length; i++) {

        int number = input.nextInt();
        System.out.print("Reversed: ");
        reverse(number);
        }
    }
    public static void reverse(int number) {
        while (number !=0) {
            int remainder = number % 10;
            System.out.print(remainder + " ");
            number = number/10;
        }


    }

//在这里创建feature3()。 这是我的主要问题所在。我对数组很糟糕,甚至不知道从哪里开始

 private static void feature3()

`Java赋值是提示用户输入存储在数组中的十个整数,调用传递数组的方法,该方法将以原始顺序和倒序显示值。

我已经尝试了所有我知道的方法(通过阅读我的 class 书和观看讲座视频......)但我不知道如何编写这段代码。我的输出应该如下所示:

Output sample

(EDIT) 对不起,post 我一回到家里的电脑就拥有什么……顺便说一句,这是家庭作业。我对数组和理解它们感到很糟糕。有没有教"arrays for dummies"的网站?

使用这个,如何反转一个数组前面已经提到了here

ArrayUtils.reverse(int[] array)

Try this..

class Assignment{

private Integer[] reverse(Integer[] passtheArray){

//Use Your own logic Whatever you Want to implement and return Your array.
 return null;
}
public static void main(String[] args){
Integer abc[] = new Integer[] {10, 15, 20, 25, 30};
Assignment obj = new Assignment();
obj.reverse(abc);
}
}

由于您没有提供任何代码,我假设您在该项目上还没有取得太大进展。看一下遍历数组。

对于一个简单的解决方案,您可以通过将数组设置为

来反向循环数组
ArrayUtils.reverse(int[] array)

但是,我建议您研究一下如何使用 for 循环反转数组,因为您似乎还没有很好地掌握它们。

如果您post一些示例代码,那么我们可以给您一些更直接的提示。

这是 1 种方法

public class swapnumber {

    public static void main(String[] args)

    {

         Scanner s = new Scanner(System.in);
         System.out.print("Enter number of elements you want in array:");
        int n = s.nextInt();
         int a[] = new int[n];
         System.out.println("Enter all the elements:");
         for (int i = 0; i < n; i++) 
         {
             a[i] = s.nextInt();
         }



        swapNumber(a);

    }

    private static void swapNumber(int a[]) {

        System.out.println("Original array" + Arrays.toString(a));
        for(int i = 0; i < a.length / 2; i++)
        {
            int temp = a[i];
            a[i] = a[a.length - i - 1];
            a[a.length - i - 1] = temp;
        }

        System.out.println("Reversed array" + Arrays.toString(a));
    }
}

假设您已经将所有用户输入值存储在数组中,您可能想要创建两个 for 循环;一种是从数组的开头迭代到末尾,另一种是从数组的末尾迭代到开头。

for(int i = 0; i < array.length(); ++i) {
   System.out.print(array[i]); //or put that in a string to output later
}


for (int j = array.length() - 1; j >= 0; ++j) {
   System.out.print(array[j]); //or, again, put it in a string
}

关键是要知道 Java 中的数组从索引 0 开始,到等于给定数组长度减 1 的索引结束,这就是倒计时循环从哪里开始和结束的原因。

希望能解决部分问题!