你如何返回一个数组并在java中打印出来? [关闭]

Posted

技术标签:

【中文标题】你如何返回一个数组并在java中打印出来? [关闭]【英文标题】:How do you return an array and print it out in java? [closed] 【发布时间】:2018-06-23 17:52:07 【问题描述】:

我被这个问题困住了。更具体地说,它是具有 countFeatures 的类。我将遍历数组并打印出每个变量。虽然我在发布问题时是编程新手,但我已经解决了这个问题并留给其他人查看。预期输出是

package main;

public class Main 

    static int count = 0;
    static int countA[];

    public static void main(String args[])
        System.out.println(countDoors("---+---+-++-"));
        System.out.println(countFeatures("---+---|| ###+-++-"));
    

    public static int countDoors(String s)
        for(int i = 0; i<s.length();i++)
        if(s.charAt(i)=='+')
            count++;
            
        

        return count;
    

    public static int[] countFeatures(String s)
        for(int i=0; i<s.length();i++)
            if(s.charAt(i) == '|')
                countA[0]++;
            
            else if(s.charAt(i)=='-')
                countA[1]++;
            
            else if(s.charAt(i)=='.')
                countA[2]++;
            
            else if(s.charAt(i) =='#')
                countA[3]++;
            
            else
                return null;
            
        
        return countA;
    

【问题讨论】:

关于“如何返回数组”,您必须先创建数组对象:int[] countA = new int[4]; 而你在countFeatures() 中实现return null; 的方式可能不是你想要的。 您可以使用 Arrays.toString(array) 来打印数组。因此您可以调用 System.out.println(Arrays.toString(countFeatures("---+---|| ###+-++-"))); 顺便说一句,当我想了解更多有关 Java 语言功能的信息时,我通常会尝试使用 Google 搜索,例如“java tutorial”。第一个链接:docs.oracle.com/javase/tutorial/java/nutsandbolts/arrays.html 【参考方案1】:

如果您要询问如何打印数组的元素,只需使用循环即可。

假设我们有int[] numbers = new int[] 1, 3, 5, 9, 23,您可以简单地使用循环遍历数组并单独打印每个元素。

for (int i : numbers) 
    System.out.println(i);

【讨论】:

Arrays.toString() 通常是首选,但这是初学者开始的好方法。 @markspace 输出会略有不同。 Arrays.toString() 将输出类似 [1, 2, 3, 4] 的内容,而遍历数组并打印每个元素只会打印元素。 输出肯定是不同的,但是学习如何迭代数组对于初学者来说是很好的做法。输出可以很容易地修复(这也是一个好习惯)。【参考方案2】:

Array 是 java 中的非原始数据类型,因此首先您必须使用 new 运算符对其进行初始化。像这样的

 public static int[] countFeatures(String s)
        countA = new int[s.length()]; // like this. you can also initialize
                                      // it using  operator
        for(int i=0; i<s.length();i++)
            if(s.charAt(i) == '|')
                countA[0]++;
            
            else if(s.charAt(i)=='-')
                countA[1]++;
            
            else if(s.charAt(i)=='.')
                countA[2]++;
            
            else if(s.charAt(i) =='#')
                countA[3]++;
            
            else
                return null;
            
        
        return countA;
    

现在,如果您尝试打印一个数组对象,它将打印一个字母数字值,该值是该对象的外行语言地址。 所以要打印数组的值,你必须像这样打印它:

for(int i=0: i < countA.length : i++)
System.out.println(countA[i]);
 

【讨论】:

以上是关于你如何返回一个数组并在java中打印出来? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

怎么重写toString()才能把数组打印出来

JAVA中数组如何打印出来

如何连接从 Ajax 返回的全部结果并打印出来?

怎么用ajax获取后台一个list集合,并在页面显示出来?

动画的Java多行文本删除[关闭]

如何打印Java数组?