你如何返回一个数组并在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 如果您要询问如何打印数组的元素,只需使用循环即可。
假设我们有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中打印出来? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章