当前位置: 首页 > 知识库问答 >
问题:

使用java[复制]反转数组

怀浩大
2023-03-14

我在尝试反转数组时遇到麻烦,它一直在打印这条消息,您可以帮助找出我做错了什么吗?

Exception in thread "main" java.util.NoSuchElementException
    at java.base/java.util.Scanner.throwFor(Scanner.java:937)
    at java.base/java.util.Scanner.next(Scanner.java:1594)
    at java.base/java.util.Scanner.nextInt(Scanner.java:2258)
    at java.base/java.util.Scanner.nextInt(Scanner.java:2212)
    at LabProgram.main(LabProgram.java:13)

import java.util.Scanner;

public class LabProgram {
   public static void main(String[] args) {
      Scanner scnr = new Scanner(System.in);
      int[] userList = new int[20];   
      int numElements;                
      int i; 

      numElements = scnr.nextInt();   

      for (i = 0; i < userList.length; ++i) {
         userList[i] = scnr.nextInt();

      }
      for (i = 0; i < userList.length/2; ++i) {
         int temp = userList[i];
         userList[i] = userList[userList.length -i -1];
         userList[userList.length -i -1] = temp;
      }
      for (i = 0; i < userList.length; ++i) {
         System.out.print(userList[i] + " ");
      }          
   }
}

如果输入为:

5 2 4 6 8 10

则输出为:

10 8 6 4 2

共有2个答案

公西毅
2023-03-14

下面是示例检查它


public class ReverseArray { 

    /* function that reverses array and stores it  
       in another array*/
    static void reverse(int a[], int n) 
    { 
        int[] b = new int[n]; 
        int j = n; 
        for (int i = 0; i < n; i++) { 
            b[j - 1] = a[i]; 
            j = j - 1; 
        } 

        /*printing the reversed array*/
        System.out.println("Reversed array is: \n"); 
        for (int k = 0; k < n; k++) { 
            System.out.println(b[k]); 
        } 
    } 

    public static void main(String[] args) 
    { 
        int [] arr = {10, 20, 30, 40, 50}; 
        reverse(arr, arr.length); 
    } 
} 
胡安怡
2023-03-14

按以下步骤操作:

import java.util.Scanner;

public class LabProgram {
    public static void main(String[] args) {
        Scanner scnr = new Scanner(System.in);
        System.out.print("Enter the number of intgers: ");
        int numElements = scnr.nextInt();
        int[] userList = new int[numElements];
        int i;
        System.out.println("Enter " + numElements + " integers");
        for (i = 0; i < userList.length; ++i) {
            userList[i] = scnr.nextInt();
        }
        for (i = 0; i < userList.length / 2; ++i) {
            int temp = userList[i];
            userList[i] = userList[userList.length - i - 1];
            userList[userList.length - i - 1] = temp;
        }
        for (i = 0; i < userList.length; ++i) {
            System.out.print(userList[i] + " ");
        }
    }
}

示例运行:

Enter the number of intgers: 6
Enter 6 integers
1
2
3
4
5
6
6 5 4 3 2 1 
 类似资料:
  • 我刚刚开始学习递归,并能够使用它编写一个简单的阶乘程序,没有太多问题。现在我正在尝试编写一个递归方法,该方法以相反的顺序写入数组,但我不知道我做错了什么。我错过了什么?非常感谢。

  • 问题内容: 谁能向我解释如何在不使用数组或字符串的情况下反转整数。我从网上获得了此代码,但并没有真正理解为什么+输入%10并再次除法。 以及如何使用此示例代码来仅反转奇数。例子我得到了这个输入12345,然后它将奇数反转为输出531。 问题答案: 我不清楚你的奇数。该代码的工作方式是(不是Java特定的算法)例如。输入= 2345 while循环中的第一次rev = 5输入= 234第二时间rev

  • 我有以下代码: 我要复制的类: 创建一些类 公共对象createObj(String cls\u name,String param1,int param2){返回Class.forName(cls\u name)。getConstructor(String.Class,Integer.Class)。newInstance(param1,param2);} 然后我尝试使用以下内容复制该类的对象:

  • 问题内容: 我有一个a不断更新的数组。比方说。我需要制作一个完全相同的副本a并称之为b。如果a要改成,b应该还是。做这个的最好方式是什么?我尝试了像这样的循环: 但这似乎无法正常工作。请不要使用深层复制等高级术语,因为我不知道这意味着什么。 问题答案: 你可以尝试使用System.arraycopy()

  • 主要内容:使用 copyOf() 方法和 copyOfRange() 方法,使用 arraycopy() 方法,使用 clone() 方法所谓复制数组,是指将一个数组中的元素在另一个数组中进行复制。本文主要介绍关于 Java 里面的数组复制(拷贝)的几种方式和用法。 在 Java 中实现数组复制分别有以下 4 种方法: Arrays 类的 copyOf() 方法 Arrays 类的 copyOfRange() 方法 System 类的 arraycopy() 方法 Object 类的 clone

  • 反向:1132 数字总和:7