[数组未在Java中打印

问题描述 投票:0回答:3

我想打印一个大小为n的数组,其中每个元素为pow(i,i),i,范围从1到n。也就是说,如果我输入n = 4,则应该返回一个数组A = {1,4,27,256}。这是因为power(1,1)= 1,power(2,2)= 4,power(3,3)= 27,power(4,4)= 256。

但是,当我尝试运行以下代码时,它没有提供任何输出。

import java.io.*;
import java.util.*;
import java.lang.Math;

public class Main
{
public static void main(String[] args) 
{
    Main s = new Main();
    Scanner sc = new Scanner(System.in);
    int n = sc.nextInt();
    double[] A = new double[n];
    int j ;
    for(j = 0; j <= n; j++)
    {
        A[j] = Math.pow(j+1, j+1);
        //System.out.println(A[j]); --> 1
    }
    System.out.print(A);
    System.out.println(A);  //-->2
    for (int i=0; i<A.length; i++) 
    {
        System.out.print(A[i]+" "); // --> 3
    }
}
}

[当我尝试删除方程式1的带引号的引号时,它是在打印值。但是方程式2或方程式3都没有帮助我打印数组。

java arrays output system.out
3个回答
0
投票

尝试一下:

import java.io.*;
import java.util.*;
import java.lang.Math;

public class Main
{
public static void main(String[] args) 
{
    Main s = new Main();
    Scanner sc = new Scanner(System.in);
    int n = sc.nextInt();
    double[] A = new double[n];
    int j ;
    for(j = 1; j <= n; j++)
    {
        A[j-1] = Math.pow(j, j);
        //System.out.println(A[j]); //--> 1
    }
    System.out.print(A);
    System.out.println(A);  //-->2
    for (int i=0; i<A.length; i++) 
    {
        System.out.print(A[i]+" "); // --> 3
    }
}
}

0
投票

而不是j <= n;,循环条件应该是j < n,因为索引从0开始并在n-1处结束。如果尝试访问A [n],它将使数组索引毫无例外。

import java.io.*;
import java.util.*;
import java.lang.Math;

public class Main {

    public static void main(String[] args) {
        Main s = new Main();
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        double[] A = new double[n];
        int j;
        for (j = 0; j < n; j++) {
            A[j] = Math.pow(j + 1, j + 1);
            //System.out.println(A[j]); --> 1
        }
        System.out.print(A);
        System.out.println(A);  //-->2
        for (int i = 0; i < A.length; i++) {
            System.out.print(A[i] + " "); // --> 3
        }
    }
}

0
投票

尝试一下:-

 public static void main(String[] args) {
        Main s = new Main();
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        double[] A = new double[n];
        int j ;
        for(j = 0; j <= n-1; j++)
        {
            A[j] = Math.pow(j+1, j+1);
            //System.out.println(A[j]); --> 1
        }
        System.out.print(A);
        System.out.println(A);  //-->2
        for (int i=0; i<A.length-1; i++)
        {
            System.out.print(A[i]+" "); // --> 3
        }
    }
© www.soinside.com 2019 - 2024. All rights reserved.