我写了一个程序来获取用户的地址详细信息并打印相同而不使用2 for循环,所以我使用了函数 add_show()。 但我得到错误,因为string []无法转换为字符串。 返回添加;
public String add_show()
{
Scanner h=new Scanner(System.in);
System.out.println("Enter the number of address to deliver");
int n=h.nextInt();
String[] add=new String[n];
System.out.println("Enter the"+n+" of address to deliver");
for(int i=0;i<n;i++)
{
add[i]=h.next();
}
return add;
}
public void show()
{
System.out.println("Book name is "+B_name());
System.out.println("count "+department());
System.out.println("address is "+add_show());
}
请更新,如何从函数中获取数组的返回值。
答案 0 :(得分:5)
public String[] add_show()
{
Scanner h=new Scanner(System.in);
System.out.println("Enter the number of address to deliver");
int n=h.nextInt();
String[] add=new String[n];
System.out.println("Enter the"+n+" of address to deliver");
for(int i=0;i<n;i++)
{
add[i]=h.next();
}
return add;
}
将方法的返回类型更改为字符串数组,它适用于您。
答案 1 :(得分:0)
返回类型必须是String [],“[]”表示数组,如果将String声明为结果类型,则必须返回String。
答案 2 :(得分:0)
public String add_show(){...}
表示该函数将返回String
您想要返回array
String
,您需要更改为public String[] add_show(){...}
答案 3 :(得分:0)
使用Java 8,您可以使用add_show返回来执行此操作:
public String add_show(){
...
return String.join(",", add);
}
所以它会是:
MyEnum.FIRST
答案 4 :(得分:0)
首先,设置正确的返回类型以返回数组:
public String[] add_show()
然后,为了打印结果,我建议你不要直接打印方法的结果,存储它们。
System.out.println("Book name is "+B_name());
System.out.println("count "+department());
System.out.println("address is "+add_show());
看起来像
String bookName = B_name();
String count = department();
String[] addresses = add_show();
System.out.println("Book name is " + bookName);
System.out.println("count " + count);
System.out.println("address is " + addresses);
现在,如果您尝试直接打印数组,它看起来像[String@...
,您需要自己获取内容,或使用可以执行此操作的方法...
使用Arrays.toString
,它会返回格式化的String
,例如“[value1,value2,value3,... valueN]”,不适合用户
String addressesFormat = Arrays.toString(addresses);
您可以在Java 8之后使用String.join
来加入具有特定分隔符的每个内容:
String addressesFormat = String.join("\n", addresses);
然后打印结果:
System.out.println("address is " + addressesFormat);
仅供参考:你应该检查Java标准符号,一个方法不应该在他的名字中有_
,它应该使用camelCase看起来像addShow
。