Сканирование 10 чисел, сохранение их в массиве, а затем обратный массив - PullRequest
0 голосов
/ 15 апреля 2020

Я должен написать программу на java, которая сканирует 10 двойных чисел и затем сохраняет их в массиве. Числа тогда должны быть полностью изменены и напечатаны. Это то, что я написал. Программа печатает массив в правильном порядке, а не в обратном порядке, как я могу это исправить?

public class ReverseNumbers {

    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        // Fyll i egen kod

        double[] a = new double[10];


        for(int i = a.length - 1; i >=0; i--){
              a[i] = scan.nextDouble();

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

Ответы [ 3 ]

1 голос
/ 15 апреля 2020

Вам нужно использовать Arrays.toString или другой l oop для печати массива.

import java.util.Arrays;
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        double[] a = new double[10];
        System.out.println("Enter " + a.length + " numbers: ");
        for (int i = a.length - 1; i >= 0; i--) {
            a[i] = scan.nextDouble();
        }

        // Either print it like this
        System.out.println(Arrays.toString(a));

        // Or like this
        for (double d : a) {
            System.out.print(d + " ");
        }

        System.out.println();

        // Or like this
        for (int i = 0; i < a.length; i++) {
            System.out.print(a[i] + " ");
        }
    }
}

Пример прогона:

Enter 10 numbers: 
10 20 30 5 15 25 12 22 32 42
[42.0, 32.0, 22.0, 12.0, 25.0, 15.0, 5.0, 30.0, 20.0, 10.0]
42.0 32.0 22.0 12.0 25.0 15.0 5.0 30.0 20.0 10.0 
42.0 32.0 22.0 12.0 25.0 15.0 5.0 30.0 20.0 10.0 
0 голосов
/ 15 апреля 2020

Эта строка кода сработала :), спасибо, ребята!

public class ReverseNumbers {

    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        // Fyll i egen kod

        double[] a = new double[10];


        for(int i=0; i<10; i++){
            a[i] = scan.nextDouble();
        }

        for(int i = a.length - 1; i >=0; i--){


            System.out.print(a[i] + " ");
        }
    }
}
0 голосов
/ 15 апреля 2020

Смотри как новичок, я не знаю Java язык, но я могу легко решить твой вопрос, используя Qbasi c.

CLS
N = 1
DO
    INPUT "ENTER THE NUMBER"; A(N)
    N = N + 1
LOOP WHILE N <= 10
CLS
DO
    PRINT A(N)
    N = N - 1
LOOP WHILE N > 0
END
...