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

时间:2018-01-15 05:11:47

标签: 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.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;
    }
}

3 个答案:

答案 0 :(得分:2)

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

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

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

答案 1 :(得分:0)

尝试这样的事情:

public class MyClass {
    public static void main(String args[]) {
        int [] array = countFeatures("---+---|| ###+-++-");
        // print element by element of array
        for(int i = 0; i< 4; i++){
            System.out.println(i + " : " + array[i]);
        }
    }

    public static int[] countFeatures(String s){
    // Create array and initialize
    int [] countA = new int[4];

    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]++;
        }

    }
    return countA;


   }

}

答案 2 :(得分:0)

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