Java 构造函数不能应用于给定类型,不需要参数;找到int?
我正在创建一个将罗马数字转换为阿拉伯数字的类,我的代码符合要求,但是当我尝试创建一个客户端类来测试它时,我得到了错误 “RomanNumerics类中的构造函数RomanNumerics无法应用于给定类型;必需:无参数;找到:int;原因:实际参数列表和形式参数列表长度不同” 这是我调用构造函数的代码Java 构造函数不能应用于给定类型,不需要参数;找到int?,java,constructor,bluej,Java,Constructor,Bluej,我正在创建一个将罗马数字转换为阿拉伯数字的类,我的代码符合要求,但是当我尝试创建一个客户端类来测试它时,我得到了错误 “RomanNumerics类中的构造函数RomanNumerics无法应用于给定类型;必需:无参数;找到:int;原因:实际参数列表和形式参数列表长度不同” 这是我调用构造函数的代码 public class RomanConverter { public static void main(String[] args) { TextIO.putln("En
public class RomanConverter {
public static void main(String[] args) {
TextIO.putln("Enter a Roman numeral and this will change it to an");
TextIO.putln("arabic integer. Enter an integer.")
while (true) {
TextIO.putln();
TextIO.put("? ");
while (TextIO.peek() == ' ' || TextIO.peek() == '\t')
TextIO.getAnyChar();
if ( TextIO.peek() == '\n' )
break;
if ( Character.isDigit(TextIO.peek()) ) {
int arab = TextIO.getlnInt();
try {
RomanNumerals N = new RomanNumerals(arab);
TextIO.putln(N.toInt() + " = " + N.toString());
}
public void RomanNumerals(int arabic){
num = arabic;
}
这是构造器
public class RomanConverter {
public static void main(String[] args) {
TextIO.putln("Enter a Roman numeral and this will change it to an");
TextIO.putln("arabic integer. Enter an integer.")
while (true) {
TextIO.putln();
TextIO.put("? ");
while (TextIO.peek() == ' ' || TextIO.peek() == '\t')
TextIO.getAnyChar();
if ( TextIO.peek() == '\n' )
break;
if ( Character.isDigit(TextIO.peek()) ) {
int arab = TextIO.getlnInt();
try {
RomanNumerals N = new RomanNumerals(arab);
TextIO.putln(N.toInt() + " = " + N.toString());
}
public void RomanNumerals(int arabic){
num = arabic;
}
您正在尝试使用未定义的重载的构造函数实例化
罗马数字
对象
这个
实际上是一个方法,而不是构造函数。您需要这样定义构造函数:
public RomanNumerals(int arabic){
// Initialization
}
这不是一个构造函数:
public void RomanNumerals(int arabic)
这是一种称为罗马数字
的方法,它采用整数
。无参数构造函数是Java为您创建的默认构造函数
您只需删除
void
,即可解决此问题。此消息意味着预期的构造函数是RomanNumerics(),没有任何参数,并且未定义实际的构造函数RomanNumerics(int)。换句话说,形式参数列表为空,但实际参数列表为int
类RomanNumerics中的构造函数RomanNumerics不能应用于
给定类型;必需:无参数;发现:int;原因:实际和
形式参数列表长度不同
构造函数应该是这样的
public class MyClass {
public MyClass(int x, double y) {
...
}
}
请注意,没有返回参数
由于return参数,您所标识的构造函数实际上是一个方法