黑马程序员技术交流社区
标题:
编译错误
[打印本页]
作者:
刘博
时间:
2011-12-6 12:45
标题:
编译错误
本帖最后由 孤独的人 于 2011-12-6 13:09 编辑
Demo4.java:8: 错误: 此处不允许使用 '空' 类型
System.out.println(Demo3.reversePrint(arr,3,4));
^
1 个错误
class Demo3
static void reversePrint(int[] arr,int a,int b)
{
int tem = arr[a];
arr[a] = arr
;
arr
= tem;
}
class Demo4
class Demo4
{
public static void main(String[] args)
{
int[] arr = new int[]{3,4,2,6,23,5,15};
Demo3.reversePrint(arr,3,4);
}
}
为什么打印的是空的。
作者:
杨强
时间:
2011-12-6 12:46
Demo3.reversePrint的返回值是 void,也就是说什么都不返回,你不可以打印虚无的东东
作者:
刘海涛
时间:
2011-12-6 13:21
1、首先要明白在控制台输出java用什么方法。
2、要了解java的数据类型。
3、java 返回修饰符
这三点基础你要明白。
下面打印方法所接收的参数。
未命名.jpg
(23.72 KB, 下载次数: 172)
下载附件
2011-12-6 13:14 上传
class Demo3 {
static void reversePrint(int[] arr,int a,int b)
{
int tem = arr[a];
arr[a] = arr[b];
arr[b] = tem;
}
}
class Demo4
{
public static void main(String[] args)
{
int[] arr = new int[]{3,4,2,6,23,5,15};
Demo3.reversePrint(arr,3,4);
for (int value : arr) {
System.out.println(value);
}
}
}
复制代码
输出 :
3
4
2
23
6
5
15
打印交换后的数组,数组打印要取出个值来。用for循环
作者:
武超
时间:
2011-12-6 15:37
本帖最后由 武超 于 2011-12-6 15:38 编辑
连输出语句都没有。这怎么可能有输出啊
作者:
段波
时间:
2011-12-7 00:16
Demo3.reversePrint(arr,3,4))的返回值是void类型的,不符合System.out.println()参数要求,所以编译不会通过的。
作者:
wsssx
时间:
2011-12-7 08:19
提示:
作者被禁止或删除 内容自动屏蔽
作者:
杨玉揆
时间:
2011-12-7 08:35
按照你上面的代码来看是有错误的,
[color=Red]class Demo3[/color]
static void reversePrint(int[] arr,int a,int b)
{
int tem = arr[a];
arr[a] = arr;
arr = tem;
}
[color=Red]class Demo4[/color]
class Demo4
{
public static void main(String[] args)
{
int[] arr = new int[]{3,4,2,6,23,5,15};
Demo3.reversePrint(arr,3,4);
}
}
复制代码
你想打印出必须的输出:如用for(int x =0;x<arr.length;x++){System.out.println("a["+x+"] ="+arr[x]);}即可!!!
作者:
赵燕燕
时间:
2011-12-7 10:04
因为reversePrint方法返回的是空,这不能打印。
要想在main函数中打印替换后的数组,可以直接遍历一下arr,因为数组建立之后保存在堆中,arr指向该数组,调用方法reversePrint将数组内容替换后,arr的指向没变,但是arr指向的内容改变,即arr保留了操作。所以直接遍历arr打印即可。
作者:
应国炎
时间:
2011-12-7 13:39
(如果需要打印完整数组数据,可以用for循环)
1 你交换的时候有错误
int tem = arr[a];
arr[a] = arr;
arr = tem;
arr是数组的地址,正确的应该是arr[b];
2 有人说void不能使用参数,其实是可以的
3 可以打印出数据,这点我也没想到,竟然打印出来的是4和3,不知道谁能解释一下不?
class Demo3
{
static void a(int[] arr,int a,int b)
{
int tem = arr[a];
arr[a] = arr[b];
arr[b] = tem;
}
}
class Demo4
{
public static void main(String[] args)
{
int[] arr = new int[]{3,4,2,6,23,5,15};
Demo3.a(arr,3,4);
}
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2