微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

有人可以向我解释为什么这段代码没有运行吗?

如何解决有人可以向我解释为什么这段代码没有运行吗?

我正在使用 IntelliJ Java 语言。没有错误。在运行部分,即使我有打印语句,也没有显示任何内容。我直接从一位教授那里复制了这个,我不确定为什么它适用于他的 IntelliJ 而不是我的。我已经正确设置了所有内容并且所有内容都已更新。 代码如下:

package com.learn;
import org.w3c.dom.ls.LSOutput;

import java.util.Queue;
import java.util.LinkedList;
import java.util.Stack;
import java.util.ArrayList;

public class Main {

public static void main(String[] args) {
}

   public static class QWP {
        public void main(String args[]){
            QWP qp=new QWP();
            qp.start();
        }
        public void start(){
            int orderup=234;
            Queue<Customer> customers =new LinkedList <Customer>();
            customers.add(new Customer("Jim",234));
            //printQueue(customers);
            Customer x=new Customer("Bob",999);
            customers.add(new Customer("Kaitlyn",123));
            customers.add(new Customer("Jesse",432));
            customers.add(new Customer("Andrea",476));
            customers.add(x);
            printQueue(customers);
            Customer temp=customers.peek();
            if(temp.ordernumber==orderup){
                customers.remove();
            }
            printQueue(customers);

            orderup=123;
            temp=customers.peek();
            if(temp.ordernumber==orderup){
                customers.remove();
            }
            printQueue(customers);
        }
        public void printQueue(Queue<Customer> q){
            for(Customer i:q){
                System.out.println(i.name+":"+i.ordernumber);
            }
            System.out.println("------");}

        }
    }
    class Customer {
        String name;
        int ordernumber;
        public Customer(String n,int o){
            name=n;
            ordernumber=o;
        }

}

解决方法

初始化和启动代码应该放在带有静态修饰符的 main 方法中,而不是你在 QWP 中创建的那个

package com.learn;
import org.w3c.dom.ls.LSOutput;

import java.util.Queue;
import java.util.LinkedList;
import java.util.Stack;
import java.util.ArrayList;

public class Main {

public static void main(String[] args) { // this is entry point
      QWP qp=new QWP();
      qp.start();
}

   public static class QWP {
        
        public void start(){
            int orderup=234;
            Queue<Customer> customers =new LinkedList <Customer>();
            customers.add(new Customer("Jim",234));
            //printQueue(customers);
            Customer x=new Customer("Bob",999);
            customers.add(new Customer("Kaitlyn",123));
            customers.add(new Customer("Jesse",432));
            customers.add(new Customer("Andrea",476));
            customers.add(x);
            printQueue(customers);
            Customer temp=customers.peek();
            if(temp.ordernumber==orderup){
                customers.remove();
            }
            printQueue(customers);

            orderup=123;
            temp=customers.peek();
            if(temp.ordernumber==orderup){
                customers.remove();
            }
            printQueue(customers);
        }
        public void printQueue(Queue<Customer> q){
            for(Customer i:q){
                System.out.println(i.name+":"+i.ordernumber);
            }
            System.out.println("------");}

        }
    }
    class Customer {
        String name;
        int ordernumber;
        public Customer(String n,int o){
            name=n;
            ordernumber=o;
        }
}
,

程序流程从主函数开始。我看到在给定程序的唯一公共类的 main 方法中没有写任何语句。 以下可以是程序的骨架。

主类{

  other class{

       method_one()
       method_two()
}
public static void main(String[] args)
 {
      // create object of class
      // object.method(parameters if any)
 }

} // 主类结束

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。