注册 登录
编程论坛 JAVA论坛

到底是怎么回事?

琼羽 发布于 2015-10-12 18:03, 601 次点击
import *;
public class Monkey
{
    int n,k,m;        //n猴子的总数,k起始报号的猴子编号,m出局的猴子编号
    int[] monkeys;
    String temp=null;
    void Init_Monkeys()
    {
        System.out.print("请输入猴子总数:");
        try
        {
            BufferedReader in=new BufferedReader(new InputStreamReader(System.in));
            temp=in.readLine();
        }
        catch(IOException e){}
        n=Integer.parseInt(temp);

        System.out.printf("\n请输入起始报号的猴子编号:");
        try
        {
            BufferedReader in=new BufferedReader(new InputStreamReader(System.in));
            temp=in.readLine();
        }
        catch(IOException e){}
        k=Integer.parseInt(temp);

        System.out.printf("\n请输入出局数字:");
        try
        {
            BufferedReader in=new BufferedReader(new InputStreamReader(System.in));
            temp=in.readLine();
        }
        catch(IOException e){}
        m=Integer.parseInt(temp);
        monkeys=new int[n]; //创建猴群
        for(int i=0;i<n;i++)
        monkeys[i]=i+1;        //为猴群编号
        System.out.printf("\n初始猴子的编号为:\n");
        for(int i=0;i<n;i++)
        {
            System.out.printf("%4d",monkeys[i]);
        }
        System.out.println();
    }
    void Chose_King()
    {
        int record=n;  //记录猴圈中剩余猴子的数量
        if(n<k)
        {
            System.out.printf("您输入的数据有误,程序结束!");
        }
        else
        {
            System.out.printf("出队序列:\n");
            for(int i=k-1;record!=1;){
            i=(i+m-1)%record;
            System.out.printf("%4d",monkeys[i]);
            for(int j=i;j<record-1;j++)
            monkeys[j]=monkeys[j+1];
            record--;
        }
        System.out.println();
        System.out.print("选出的猴王编号为:");
        System.out.printf("%d",monkeys[0]);
        
    }

    public static void main(String args[]){
        Monkey monkeys=new Monkey();
        monkeys.Init_Monkeys();
        monkeys.Chose_King();
    }   
}

Monkey.java:68: 错误: 非法的表达式开始
        public static void main(String args[]){
        ^
Monkey.java:68: 错误: 非法的表达式开始
        public static void main(String args[]){
               ^
Monkey.java:68: 错误: 需要';'
        public static void main(String args[]){
                     ^
Monkey.java:68: 错误: 需要')'
        public static void main(String args[]){
                                      ^
Monkey.java:68: 错误: 非法的表达式开始
        public static void main(String args[]){
                                           ^
Monkey.java:68: 错误: 需要';'
        public static void main(String args[]){
                                            ^
Monkey.java:68: 错误: 非法的表达式开始
        public static void main(String args[]){
                                             ^
Monkey.java:68: 错误: 需要';'
        public static void main(String args[]){
                                              ^
8 个错误
2 回复
#2
诸葛欧阳2015-10-12 19:35
你那个数组没有分配内存
#3
e152969022015-10-14 02:16
新手刚学。刚才试了下,应该是For循环少了}
1