如何返回数组并用java打印出来?

如何返回数组并用java打印出来?,java,arrays,for-loop,Java,Arrays,For Loop,我被这个问题难住了。更具体地说,它是具有countFeatures的类。我将循环遍历数组并打印出每个变量。当我刚开始编程时,我发布了这个问题,这是我已经解决的问题,留给其他人看。预计产量为 package main; public class Main { static int count = 0; static int countA[]; public static void main(String args[]){ System.out.prin

我被这个问题难住了。更具体地说,它是具有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[]numbers=newint[]{1,3,5,9,23},您可以简单地使用循环遍历数组并单独打印每个元素

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

数组在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]);
} 

关于如何返回数组,必须首先创建数组对象:int[]countA=newint[4];是否要打印数组或数组内内容的大小以及实现返回null的方式;in countFeatures可能不是您想要的。您可以使用Arrays.toStringaray打印数组。因此,您可以调用System.out.println Arrays.toStringcountFeatures--+--| |+-++--;顺便说一句,当我想了解更多关于Java语言特性的知识时,我通常首先尝试的是类似Google搜索的Java教程。第一个链接:Arrays.toString通常比较好,但对于初学者来说,这是一个很好的开始方式。@markspace输出将略有不同。Arrays.toString将输出类似于[1,2,3,4]的内容,而遍历数组并打印每个元素只会打印元素。输出结果肯定不同,但是对于初学者来说,学习如何遍历数组是一个很好的练习。输出可以很容易地固定,这也是一个很好的实践。