黑马程序员技术交流社区
标题:
找不到符号 System.out.println(getIndex[x]);
[打印本页]
作者:
刘长辉
时间:
2013-7-2 10:46
标题:
找不到符号 System.out.println(getIndex[x]);
本帖最后由 Just_Only 于 2013-7-2 13:00 编辑
import java.util.*;
class DemoArray6 {
public static void main(String []args) {
int[]x=new int[500];
Arrays.fill(x,1);
kill(x);
System.out.println(getIndex(x));
}
public static void kill(int[]x) {
int sum=x.length;
int count=0;
while(true) {
for(int i=0;i<x.length;i++) {
if(x==1) {
count++;
}
if(count==3) {
x=0;
sum--;
count=0;
}
if(sum==1) {
System.out.println("last killed"+i);
return;
}
}
}
}
复制代码
作者:
liujkh123
时间:
2013-7-2 14:58
楼主你的代码错的比较多
首先:你的问题 找不到符号 System.out.println(getIndex[x]);这段代码根本没有在源程序出现么,应该是
System.out.println(getIndex(x))吧,这是小错误。
另外就算是System.out.println(getIndex(x)),在程序中也是错的我把错的地方给你在你源代码上表示出来了
希望能帮倒你
package thread;
import java.util.*;
class DemoArray6 {
public static void main(String []args) {
int[]x=new int[500];
Arrays.fill(x,1);
kill(x);
System.out.println(getIndex(x)); //这里边调用方法的话 是默认调用类DemoArray6中的静态方法,你没有定义getIndex()这个方法所以,找不到
}
public static void kill(int[]x) {
int sum=x.length;
int count=0;
while(true) {
for(int i=0;i<x.length;i++) {
if(x==1) { //这里怎么能直接把数组拿过来与整形变量来比较呢?改为x[i]
count++;
}
if(count==3) {
x=0;//与上面一样,改为x[i]
sum--;
count=0;
}
if(sum==1) {
System.out.println("last killed"+i);
return;
}
}
}
}
}//最后还少了个大括号
复制代码
至于你的代码到底是要达到什么目的,我就没仔细去看了,先把代码改到能运行才是关键
作者:
。子伤。
时间:
2013-7-2 23:09
package text6_29;
/**
@author 这个程序修改确实蛋疼,我看了几分钟,确实看不出你想呀做的!我已经把你的错误写出来了。
*/
import java.util.Arrays;
class DemoArray6 {
public static void main(String []args) {
int[]x=new int[500];
Arrays.fill(x,1); //fill(int[] a, int val)将指定的 int 值分配给指定 int 型数组的每个元素。
kill(x);
System.out.println(getIndex(x));
}
public static void kill(int[]x) {
int sum=x.length;
int count=0;
while(true) {
for(int i=0;i<x.length;i++) {
if(x==1) { //x是数组名,不能这样写。
count++;
}
if(count==3) {
x=0;
sum--;
count=0;
}
if(sum==1) {
System.out.println("last killed"+i);
//return;既然你的kill(int[]x)的返回值是void ,那么就没必要有返回值。
}
}
}
}
复制代码
我看了5min真的看不懂,你的目的。我在猜测,你要要用fill(int[] a, int val)将指定的 int 值分配给指定 int 型数组的每个元素),让后再把它打印出来。
给个小建议:以后发错误,希望把你的目的描述清楚!!
作者:
刘长辉
时间:
2013-7-3 07:58
首先十分感谢你的耐心解答,这个类似于约瑟夫问题,每次查到第三个就出圈,问最后一个是第几个?? 刚学编程代码写的很烂,也只是照着写而已,许多细节不是很清楚,一直没研究明白,就连getIndex方法调用都不知道怎么改!!感觉没学这个的天赋啊!!!
作者:
刘长辉
时间:
2013-7-3 15:17
改个小错误都的话费很久的时间啊!!
作者:
刘长辉
时间:
2013-7-3 15:30
。子伤。 发表于 2013-7-2 23:09
我看了5min真的看不懂,你的目的。我在猜测,你要要用fill(int[] a, int val)将指定的 int 值分配给指定 in ...
import java.util.*;
class DemoArray8 {
public static void main(String []args) {
int[]x=new int[1];
Arrays.fill(x,1);
kill(x);
}
public static void kill(int[]x) {
int sum=x.length;
int count=0;
while(true) {
for(int i=0;i<x.length;i++) {
if(x[i]==1) {
count++;
}
if(count==3) {
x[i]=0;
sum--;
count=0;
}
if(sum==1) {
System.out.println("last killed"+i);
}
}
}
}
}
复制代码
怎么死循环了,怎么输出最后剩第几位
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2