Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/11.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 &引用;字符串不能转换为int";红线错误_Java - Fatal编程技术网

Java &引用;字符串不能转换为int";红线错误

Java &引用;字符串不能转换为int";红线错误,java,Java,我是新来这里和Java的。自从我的面向对象编程课程在我的校园开始以来,已经三周了。在我的编码作业中,我参考了我同学的一张照片,但由于某种原因,我在第25行和第33行出现了一条红线错误,上面写着“字符串不能转换为int”。当我检查时,照片中的所有线条都没有红线,但对于我的,有,所以我感到困惑。所以,如果你能指出我在这里遗漏了什么,我会感谢你的帮助 package usecourse01102020; 导入java.util.Scanner 公共类课程1102020{ public static

我是新来这里和Java的。自从我的面向对象编程课程在我的校园开始以来,已经三周了。在我的编码作业中,我参考了我同学的一张照片,但由于某种原因,我在第25行和第33行出现了一条红线错误,上面写着“字符串不能转换为int”。当我检查时,照片中的所有线条都没有红线,但对于我的,有,所以我感到困惑。所以,如果你能指出我在这里遗漏了什么,我会感谢你的帮助

package usecourse01102020;
导入java.util.Scanner

公共类课程1102020{

public static void main(String[] args) {
    Scanner s= new Scanner (System.in);
    System.out.println("Enter department");
    String dept = s.next();
    System.out.println("Enter subject");
    String subject = s.next();
    System.out.println("Enter credit");
    int credit = s.nextInt();
    if (dept.equals("ISC")||dept.equals("ENT")||
            dept.equals("MSG")||dept.equals("SESS"))
        
{
    LabSubject l = new LabSubject(dept,subject,credit);
     System.out.println(l.calculationfee());
    // fee = (credit*120)+50;
}
    
    
else
{
    MSUCourse m = new MSUCourse(dept,subject,credit);
     System.out.println(m.calculationfee());
    // fee = credit*120
}

}
}

错误出现在第25行LABL和第MSUCourse m行

软件包使用Course0110202

公共类MSUCourse扩展UseCourse0110202{

String d,s;
int c;

MSUCourse(int a, String dept, String subject){
    
    c = a;
    d = dept;
    s = subject;
}

int calculationfee()
{
    return c*120;
}
}

软件包使用Course0110202

公共类LabSubject扩展了MSUCourse{

int c;

LabSubject(int a, String dept, String subject){
    
    super(a,dept,subject);
    c = a;
}

int calculationfee()
{
    return (c*120)+50;
}

}

传递的是int值而不是字符串值

在lab subject的参数中,将int a更改为字符串a

LabSubject(String a, String dept, String subject)
也要改变这一点

MSUCourse(String a, String dept, String subject)

您应该使用中的解析函数将数据强制转换为int

LabSubject(int a、字符串部门、字符串主题){
超级(a、部门、科目);
c=a;
}
您希望部门被指定为第二个参数。我想您的
a
(您应该给出一个更好的名称)就是信用,它应该作为第一个参数提供

创建对象时

LabSubject l=新的LabSubject(部门、科目、学分);

你不尊重这个命令

您需要遵循该构造函数参数的顺序

必需为LabSubject(int、string、string)

您正在传递LabSubject(string,string,int)

签入两个构造函数


尝试像LabSubject(信用、部门、主题)

。你应该在问题本身中提供一个答案(即格式正确的文本)。另外,Java不是JavaScript。您的类中可能有错误的构造函数。再次检查。@Slaw我已将图像更改为代码。明白了。可能是因为你把你的参数按错误的顺序给了构造器……部门应该作为第二个参数,而学分应该作为第一个参数。