Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java获取方法中数组的所有值_Java_Arrays_Methods - Fatal编程技术网

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+" ");
}