【发布时间】:2012-09-25 03:37:06
【问题描述】:
我正在用 Java 编写一个小排序程序,旨在抓取一个“学生”对象,并根据参数和属性确定它的名称、职业和教室。然而,当我尝试创建第一个对象时,出现了一个问题。 到目前为止,一切看起来像这样:
public class Student {
private String name, classroom;
/**
* The career code is as follows, and I quote:
* 0 - Computer Science
* 1 - Mathematics
* 2 - Physics
* 3 - Biology
*/
private short career, idNumber;
public Student (String name, short career, short idNumber){
this.name = name;
this.classroom = "none";
this.career = career;
this.idNumber = idNumber;
}
public static void main(String args[]){
Student Andreiy = new Student("Andreiy",0,0);
}
}
错误出现在对象创建行,由于某种原因,当构造函数调用短裤时,它坚持将 0,0 解释为整数,从而导致不匹配问题。
有什么想法吗?
【问题讨论】:
-
您能发布异常或错误详细信息吗?
-
将整数转换为短整数:
new Student("Andreiy", (short)0, (short)0);或在短数字后写一个“s”:new Student("Andreiy", 0s, 0s); -
stackoverflow.com/a/2720821/55284 应该解释您需要了解的内容。
-
@StefanFandler -
s后缀在 Java 中不起作用。
标签: java constructor integer short