java获取方法中数组的所有值
我正在创建一个方法来返回数组的值。但是,我有个问题 假设数组值为:java获取方法中数组的所有值,java,arrays,methods,Java,Arrays,Methods,我正在创建一个方法来返回数组的值。但是,我有个问题 假设数组值为:771114111797 arr[0]=771,arr[1]=11,arr[2]=141,…arr[n] 那么,这就是我的方法: public static String split_in_string(int [] an){ int ans; String ansl = ""; for(int i = 0; i < an.length; i++){ ans = an[i];
771114111797
arr[0]=771,arr[1]=11,arr[2]=141,…arr[n]
那么,这就是我的方法:
public static String split_in_string(int [] an){
int ans;
String ansl = "";
for(int i = 0; i < an.length; i++){
ans = an[i];
ansl = Integer.toString(ans);
return ansl;
}
return ansl;
}
公共静态字符串在字符串中拆分(int[]an){
INTANS;
字符串ansl=“”;
for(int i=0;i
如果我在主方法中使用以下部分:
int ans;
String ansl = "";
for(int i = 0; i < an.length; i++){
ans = an[i];
ansl = Integer.toString(ans);
System.out.println(ansl+" ");
}
intans;
字符串ansl=“”;
for(int i=0;i
它工作得很好
但是,如果在_string()方法中使用split_,它只显示第一个数组值
我期望结果是771114111797
,但我只得到771
我的split_in_string()方法出了什么问题?如何修复它?将您的方法更改为:
public static String split_in_string(int [] an){
int ans;
String ansl = "";
for(int i = 0; i < an.length; i++){
ans = an[i];
ansl = Integer.toString(ans);
// return ansl; //commented out this line
Sysytem.out.println(ansl+" "); //added tjis line
}
return ansl;
}
公共静态字符串在字符串中拆分(int[]an){
INTANS;
字符串ansl=“”;
for(int i=0;i
试试这个:
public static String split_in_string(int [] an){
int ans;
String ansl = "";
for(int i = 0; i < an.length; i++){
ans = an[i];
ansl += Integer.toString(ans);
//return ans1; //commented this line
}
return ansl;
}
公共静态字符串在字符串中拆分(int[]an){
INTANS;
字符串ansl=“”;
for(int i=0;i
使用ansl+=Integer.toString(ans)代码>。必须将这些值附加到同一字符串对象
试着这样做:
for(int i = 0; i < an.length; i++){
ans = an[i];
ansl += Integer.toString(ans);
}
for(int i=0;i
在use split\u in\u string
中有两个返回语句,因此将从循环中的第一次迭代返回
要返回所有转换后的字符串,请创建一个列表
,将转换后的字符串添加到列表中,然后返回该列表
List<String> split_in_string(int [] an){
List<String> ansl = new ArrayList<String>();
for(int i = 0; i < an.length; i++){
ansl.add( Integer.toString(an[i]) );
}
return ansl;
}
在字符串中列出拆分字符串(int[]an){
List ansl=new ArrayList();
for(int i=0;i
或者,将所有内容合并到单个字符串中:
String split_in_string(int [] an){
Stringbuilder ansl = new StringBuilder();
String del = "";
for(int i = 0; i < an.length; i++){
ansl.append( del ).append( Integer.toString(an[i]) );
del = " ";
}
return ansl.toString();
}
字符串中的字符串拆分(int[]an){
Stringbuilder ansl=新的Stringbuilder();
字符串del=”“;
for(int i=0;i
以下内容也能满足您的需求-
String str = Arrays.toString(array).replaceAll(",|\\]|\\[", "");
e、 g
显示-
771 11 141 1 11 79 7
771 11 141 1 11 79 7
问题是这是你的第一个返回语句
for(int i = 0; i < an.length; i++){
ans = an[i];
ansl = Integer.toString(ans);
return ansl; // <- This return doesn't allow to continue the loop foor!
}
return ansl;
最好不要用那种方法。如果你有一个有效的方法,最好坚持使用这个方法,而不是使用其他不适合你的方法。在我看来,使用此选项更快、更省时:
int ans;
String ansl = "";
for(int i = 0; i < an.length; i++){
ans = an[i];
ansl = Integer.toString(ans);
System.out.println(ansl+" ");
}
intans;
字符串ansl=“”;
for(int i=0;i
它是您已经拥有的,因此最好使用此方法。在split\u In\u string中:ansl=Integer.toString(ans);应替换为:ansl+=Integer.toString(ans);如果您想将所有内容都包含在一个字符串中,请使用字符串生成器并附加到该字符串中。向下投票是因为它只会将错误从仅返回第一个值771
转移到仅返回最后一个值7
。有些值会转到标准输出,返回一个值。。。?恐怕你的纠正让事情变得更糟了。
String str = Arrays.toString(array);
int ans;
String ansl = "";
for(int i = 0; i < an.length; i++){
ans = an[i];
ansl = Integer.toString(ans);
System.out.println(ansl+" ");
}