基础java编程题

Karry加冕成王 2019-05-07 09:32:51
定义Stu类,计算两数组之和,结果是[I@30c7dale,请问是什么情况啊
...全文
2001 33 打赏 收藏 转发到动态 举报
写回复
用AI写文章
33 条回复
切换为时间正序
请发表友善的回复…
发表回复
阿留 2019-06-12
  • 打赏
  • 举报
回复
亲,重写tostring方法就ok 这个可能表示的是指向你数组的地址 这个问题,初期的时候会经常碰到,多多积累,慢慢总结,就OK 加油,加油
神奇的大自然 2019-06-05
  • 打赏
  • 举报
回复

public class Stu {
public static void main(String args[]) {
int[] a=new int[] {1,2,4};
int[] b=new int[] {2,4,6,8};
Stu t=new Stu();
for(int i=0;i<b.length;i++)
System.out.println(Arrays.toString(t.sumArry(a, b)));
}
public int[] sumArry(int[] a,int[] b ) {
for(int i=0;i<a.length;i++) {
b[i]=b[i]+a[i];
}return b;
}
}
输出结果为:
[3, 6, 10, 8]
[4, 8, 14, 8]
[5, 10, 18, 8]
[6, 12, 22, 8]
﹏﹏ 2019-06-04
  • 打赏
  • 举报
回复
你这个输出的是数组的地址
Karry加冕成王 2019-06-04
  • 打赏
  • 举报
回复
还没有学到这里
cryings 2019-05-24
  • 打赏
  • 举报
回复
直接打印数组的结果是打印内存地址,要么遍历,要么用Arrays.toString()。
ting_yuxwm 2019-05-23
  • 打赏
  • 举报
回复
将System.out.println(t.sumArry(a, b)); 改为System.out.println(Arrays.toString(t.sumArry(a, b))); Arrays.toString(int[] arr)可以将数组转化为字符串格式,可以直接输出结果。
一贯可乐 2019-05-23
  • 打赏
  • 举报
回复
引用 26 楼 Karry加冕成王 的回复:
[quote=引用 8 楼 一贯可乐的回复:]sumArray() 里面 return b 改成 return JSONObject.toJSON(b) 就好了
好尴尬,没学过[/quote] 现在不就知道了么, 不懂多问没坏处,😄
Karry加冕成王 2019-05-22
  • 打赏
  • 举报
回复
引用 8 楼 一贯可乐的回复:
sumArray() 里面 return b 改成 return JSONObject.toJSON(b) 就好了
好尴尬,没学过
Karry加冕成王 2019-05-22
  • 打赏
  • 举报
回复
引用 8 楼 一贯可乐的回复:
sumArray() 里面 return b 改成 return JSONObject.toJSON(b) 就好了
好尴尬,没学过
ninuxGithub 2019-05-21
  • 打赏
  • 举报
回复
public class Stu { public static void main(String args[]) { int[] a = new int[]{1, 2, 4}; // 7 int[] b = new int[]{2, 4, 6, 8};//20 Stu t = new Stu(); System.out.println(t.sumArry(a, b)); } public int sumArry(int[] a, int[] b) { int sum = 0; if (a.length>0){ sum = Arrays.stream(a).reduce((x, y) -> x += y).getAsInt(); } if (b.length>0){ sum +=Arrays.stream(b).reduce((x, y) -> x += y).getAsInt(); } return sum; } }
热带雨林6123 2019-05-15
  • 打赏
  • 举报
回复
返回的是地址,返回值要for
奇迹IU 2019-05-12
  • 打赏
  • 举报
回复
你想吧b数组返回 需要再加一个循环将b数组输出 然后主方法不用写最后输出语句 直接调用t.sumArry方法就行
走好每一步 2019-05-10
  • 打赏
  • 举报
回复
import java.util.Arrays;

public class Stu 
{
	public static void main(String args[]) 
	{
    	 int[] a = new int[] {1,2,4};
    	 int[] b = new int[] {2,4,6,8};
    	 
    	 Stu t = new Stu();
    	 for(int i=0; i<b.length; i++)
    		 System.out.println(Arrays.toString(t.sumArry(a, b)));
     }
	
     public int[] sumArry(int[] a, int[] b) 
     {
     	for(int i=0; i<a.length; i++) 
     	{
     		b[i] = b[i] + a[i];
     	}
     	return b;
     }
}
子木_Lee 2019-05-10
  • 打赏
  • 举报
回复
引用 17 楼 LinyangMeng的回复:
先不说返回数组的问题
看不懂
计算两数组之和
这个代码是什么逻辑?
他的循环判断条件是数组a的长度,所以是对的
子木_Lee 2019-05-10
  • 打赏
  • 举报
回复
sumArray方法,不需要返回值,主函数中直接调用方法,再遍历打印数组b就OK了
Chia-Hung Yeh 2019-05-10
  • 打赏
  • 举报
回复
感谢分享。。。
LinY_X 2019-05-10
  • 打赏
  • 举报
回复
先不说返回数组的问题
看不懂
计算两数组之和
这个代码是什么逻辑?
a8509190 2019-05-10
  • 打赏
  • 举报
回复
你这个打印一个数组,当然是这个结果。。。
子木_Lee 2019-05-10
  • 打赏
  • 举报
回复
比如我用下面这个方法,把一个数组变成字符串输出, public class StringBuilderTest { /** * @param args */ public static void main(String[] args) { int[] arr = {3,1,5,3,8}; String s = arrayToString_2(arr); System.out.println(s); } public static String arrayToString_2(int[] arr){ StringBuilder sb = new StringBuilder(); sb.append("["); for (int i = 0; i < arr.length; i++) { if(i!=arr.length-1) sb.append(arr[i]+", "); else sb.append(arr[i]+"]"); } return sb.toString(); } }
子木_Lee 2019-05-10
  • 打赏
  • 举报
回复
建议在你的sumArray方法中定义一个StringBuilder容器,SumArray方法返回类型改为String
加载更多回复(13)

58,454

社区成员

发帖
与我相关
我的任务
社区描述
Java Eclipse
社区管理员
  • Eclipse
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧