我坚持这个问题。更具体地说,它是具有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;
}
}
答案 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]);
}