如何解决有人可以向我解释为什么这段代码没有运行吗?
我正在使用 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 举报,一经查实,本站将立刻删除。