Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/342.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
需要java构造器的新帮助_Java_Constructor_Tostring - Fatal编程技术网

需要java构造器的新帮助

需要java构造器的新帮助,java,constructor,tostring,Java,Constructor,Tostring,我过去的一道考试题上写着: “创建一个类元素,该类将元素的名称记录为字符串,并具有一个公共方法,toString,该方法返回字符串名称。为该类定义一个构造函数(该类应接收一个字符串,以初始化名称)。” 我试了一下,不知道从这里到哪里去 主要课程为: public class builder { public static void main(String[] args) { element builderObject = new element(elementName); } }

我过去的一道考试题上写着: “创建一个类
元素
,该类将元素的名称记录为
字符串
,并具有一个公共方法,
toString
,该方法返回字符串名称。为该类定义一个构造函数(该类应接收一个
字符串
,以初始化名称)。”

我试了一下,不知道从这里到哪里去

主要课程为:

public class builder { 
public static void main(String[] args) { 
    element builderObject = new element(elementName);

}
}
建造商是:

    import java.util.*;
class element {
public int getInt(String[] args) {
    Scanner scan = new Scanner(System.in);
    System.out.println("Enter the first number");
    String elementName = scan.nextLine();
    System.out.println("%s");
}

public String toString() {
    return elementName;
}
}

如果不给出答案,我想不出一个解释的方法,所以

public class Element { /// Create class Element

    private final String name; // Record the 'name'

    public Element(String name) { // constructor receives and sets the name
        this.name = name;
    }

    public String toString() { // public method toString() returns the name
        return name;
    }
}

您缺少构造函数本身。构造函数的作用是初始化对象,通常是将给定的参数保存到数据成员。 例如:


这里没有构造函数。构造函数通常如下所示:

public class MyClass {
     private String name;
     private int age;         

     //This here is the constructor:
     public MyClass(String name, int age) {
         this.name = name;
         this.age = age;
     }

     //here's a toString method just for demonstration
     @Override
     public String toString() {
         return "Hello, my name is " + name + " and I am " + age + " years old!";
     }
}

您应该能够将其作为创建自己的构造函数的指导原则。

您缺少一个构造函数,您可能正在寻找类似的构造函数

class Element 
{
  private String name = "UNSET";
  public String getName() { return name; }

  public Element(String name) {
    this.name = name;
  }

  public String toString() { 
   return getName(); 
  }
}
public class Element{
   private String name;

   public Element(String name){ //Constructor is a method, having same name as class
       this.name = name;
   }

   public String toString(){
       return name;
    }
}
注释

我认为您是从java开始的,在java中,类名通常以大写字母开头,因此
element
应该是
element
。尽早养成好习惯很重要。

不要灰心。请先阅读java教程并理解概念。你的试题很清楚你需要做什么。至少对于这个问题,您需要知道什么是构造函数,在类中使用toString()的目的是什么

也许下面的信息可以帮助你

public class Element {

private String elementName;

public Element(String elementName) {
    this.elementName = elementName;
}

@Override
public String toString() {
    return elementName;
}

}

您没有在任何地方定义构造函数,我建议您添加一个名称为
字符串的构造函数,我在您的元素类中没有看到构造函数。你应该读一本教程。我在那里没有看到构造函数。Java中的类名大写,实例名小写。@Rob+1指出了这一点,你比我快:)在主类中,试着像“System.out.println(新元素(“Rytis”)”一样打印对象
public class Element{
   private String name;

   public Element(String name){ //Constructor is a method, having same name as class
       this.name = name;
   }

   public String toString(){
       return name;
    }
}
public class Element {

private String elementName;

public Element(String elementName) {
    this.elementName = elementName;
}

@Override
public String toString() {
    return elementName;
}

}