当前位置: 首页 > 知识库问答 >
问题:

Java在线编译器问题

萧明贤
2023-03-14

我正在皮尔逊我的编程实验室做一项学校作业,顺便说一句,这完全糟透了,我的程序没有输出。然而,在netbean上,我的应用程序是可靠的,编译并给出所需的输出。我浏览了论坛,发现了一个类似的问题,但修复建议对我的应用程序不起作用。

以下是作业:

设计一个名为Person的类,其中包含用于保存人名、地址和电话号码的字段(全部作为字符串)。编写一个构造函数来初始化所有这些值,以及每个字段的mutator和accessor方法。

接下来,设计一个从Person类继承而来的类。类应该有一个表示客户号码的String字段和一个表示客户是否希望在邮件列表中的布尔字段。编写一个构造函数来初始化这些值,并为类的字段编写适当的修改器和访问器方法

在一个程序中演示Customer类,该程序提示用户输入客户的姓名、地址、电话号码和客户号码,然后询问用户是否希望接收邮件。使用此信息创建客户对象,然后打印其信息。

将所有类放在同一个文件中。为此,不要将它们声明为公共的。相反,只需编写:

class  Person { ... }
class  Customer { ... } 

提交以下代码后,我收到了以下错误:

Driver.java:103: error: class Demo is public, should be declared in a file named Demo.java
     public class  Demo
            ^
1 error 

代码:

import java.util.Scanner;

class Person

{

private String name;
private String address;
private String number;

public Person(String name, String address, String number)
{
        super();
        this.name = name;
        this.address = address;
        this.number = number;
}


    public String getName()
{
    return name;

}


public void setName(String name)
{
    this.name = name;

}


public String getAddress()

{
    return address;

}

public void setAddress(String a)

{
    address = a;

}



public String getNumber()
{
    return number;

}

public void setNumber(String number){
 this.number = number;
}

}


class Customer extends Person

{
 private String custNumber;
 private boolean wants;

 public Customer(String name, String address, String number, String         custNumber, boolean wants)
 {
  super(name, address, number);
  this.custNumber = custNumber;
  this.wants = wants;
 }

 public String getcustNumber()
 {
    return custNumber;

 }

 public boolean isWants()
 {
    return wants;
 }



 public void setWants(boolean wants)
 {
   this.wants = wants;
 }
}

/**
 *
 * @author Jonathan
 */

  public class  Tester
 {


   public static void main(String[] args)
   {
        String name, address, number;
        String custNumber;
        String decide;
        boolean wants;

        Scanner keyboard = new Scanner(System.in);

        System.out.print("Enter name of customer:Enter address of     customer:Enter phone number of customer:Enter yes/no -- does the customer want to recieve mail?:");

        name = keyboard.nextLine();

        address = keyboard.nextLine();

        number = keyboard.nextLine();

        custNumber = keyboard.nextLine();

        decide = keyboard.nextLine();
                    wants = decide.equals("yes");

        Customer one = new Customer(name, address, number, custNumber,     wants); // creates new Customer Object.
        System.out.println("Customer: ");
        System.out.println("Name: " + one.getName());
        System.out.println("Address: " + one.getAddress());
        System.out.println("Phone Number: " + one.getNumber());
        System.out.println("Receive Mail?: " + one.isWants());





   }

 }

共有3个答案

穆招
2023-03-14

同样的事情也发生在我身上,我找到了myprogramminglab的答案。在显示示例运行的工作区中,您可以看到示例运行#1:java驱动程序。只需将Tester for Driver更改为类名并删除public。

秦才
2023-03-14
import java.util.Scanner;

class Person{
    private String name;
    private String address;
    private String number;

    //Constructors
    public Person(String name, String address, String number){
        this.name = name;
        this.address = address;
        this.number = number;
    }

    public Person(){}

    //Accessors
    public String getName(){
        return this.name;
    }

    public String getAddress(){
        return this.address;
    }

    public String getNumber(){
        return this.number;
    }

    //Mutators
    public void setName(String n){
        this.name = n;
    }

    public void setAddress(String a){
        this.address = a;
    }

    public void setNumber(String n){
        this.number = n;
    }
}


class Customer extends Person{
    private String customerNumber;
    private boolean recieveMail;

    //Constructors
    public Customer(String name, String address, String number, String customerN, boolean rm) {
        super(name, address, number);
        this.customerNumber = customerN;
        this.recieveMail = rm;
    }

    public Customer(){}

    //Accessors
    public String getCustomerNumber(){
        return this.customerNumber;
    }

    public boolean getRecieveMail(){
        return this.recieveMail;
    }

    //Mutators
    public void setCustomerNumber(String c){
        this.customerNumber = c;
    }

    public void setRecieveMail(boolean r){
        this.recieveMail = r;
    }
}


class Driver {

    public static void main(String args[]){

        Scanner scanner = new Scanner(System.in);

        System.out.print("Enter name of customer:");
        String name1 = scanner.nextLine();
        System.out.print("Enter address of customer:");
        String address1 = scanner.nextLine();
        System.out.print("Enter phone number of customer:");
        String number1 = scanner.nextLine();
        System.out.print("Enter customer number:");
        String customerNumber = scanner.nextLine();
        System.out.print("Enter yes/no -- does the customer want to recieve mail?:");
        String answer = scanner.nextLine();
        boolean recieveMail = (answer.equals("yes"));

        Customer customer = new Customer(name1, address1, number1, customerNumber, recieveMail);

        System.out.println("\nCustomer: ");
        System.out.println("Name: "+customer.getName());
        System.out.println("Address: "+customer.getAddress());
        System.out.println("Phone Number: "+customer.getNumber());
        System.out.println("Customer Number: "+customer.getCustomerNumber());
        System.out.println("Recieve Mail?: "+customer.getRecieveMail());


    }
}
华宏逸
2023-03-14

由于测试仪有主要方法,所以应该在测试仪中声明。java文件。这会解决你的问题。在上传的代码中看不到演示类。

 类似资料:
  • 在本章中,我们将了解LESS中在线编译器的重要性。 在线编译器用于将较少的代码编译成css代码。 在线编译器工具可以轻松地帮助生成css代码。 以下是可用的在线编译器 - winless.org/online-less-compiler lesstester.com dopefly.com/less-converte lessphp.gpeasy.com/demo leafo.net/lessph

  • 问题内容: 您可以推荐用于Eclipse的Java反编译器吗?我的其他问题是,使用来自其他Java程序的反编译代码有什么限制?非法还是什么?我对许可证知之甚少。谢谢阅读。 问题答案: 我建议在Google上弹出一个JD Java反编译器。它真的很好。 至于限制,您必须阅读特定软件的许可,否则可能会写明禁止任何反编译方式。

  • 您真的不需要设置自己的环境来开始学习Swift编程。 原因非常简单,我们已经在线设置了Swift环境,这样您就可以在进行理论工作的同时在线执行所有可用的示例。 这使您对正在阅读的内容充满信心,并使用不同的选项检查结果。 随意修改任何示例并在线执行。 请尝试使用以下示例代码框右上角提供的Live Demo选项的示例: let constA = 42 print(constA) let constB:

  • 问题内容: 为什么我们说Java是一种编译和解释语言? (编译和解释)这样做有什么好处? 问题答案: Java在编译时被编译为中间的“字节码”。这与像C之类的语言在编译时被编译为机器语言相反。Java字节代码无法像编译的C代码那样直接在硬件上执行。相反,字节码必须在运行时由JVM(Java虚拟机)解释才能执行。像C这样的语言的主要缺点是,当编译该二进制文件时,该二进制文件将仅在一种特定的体系结构(

  • 问题内容: “ java.lang.Error:未解决的编译问题”的可能原因是什么? 附加信息: 从现有JAR顶部的版本复制一组更新的JAR文件并重新启动应用程序后,我已经看到了这一点。JAR是使用Maven构建过程构建的。 如果接口更改,我希望看到LinkageErrors或ClassNotFound错误。上面的错误提示存在一些较低级别的问题。 彻底的重建和重新部署解决了该问题。此错误是否表明J