私はコードとjavaを学び始めました。投稿されたプロジェクトは、ReportCard.javaという単一の.javaファイルで構成されています。そして、私はlayout.xmlファイルがほしくありません。私はちょうどクラスを作成したい。私は間違いがどこにあるのか分からなかった。非常にあなたの助けをいただき、ありがとうございます:)致命的な例外:メイン; OOP; RuntimeException in Java
package com.example.android.reportcard; public class ReportCard {
// variable initializations and
// necessary setters and getter functions
private String setGrade(int math, int science, int socialStudies) {
String grade;
mSum = math + science + socialStudies;
mPercentage = mSum/TOTAL;
if (mPercentage >= 90.0) {
grade = "A";
} else if (mPercentage < 90.0 && mPercentage >= 80.0) {
grade = "B";
} else if (mPercentage < 80.0 && mPercentage >= 70.0) {
grade = "C";
} else if (mPercentage < 70.0 && mPercentage >= 60.0) {
grade = "D";
} else if (mPercentage < 60.0) {
grade = "Fail";
} else {
grade = "error";
}
return grade;
}
/**
* Create new report card object.
*
* @param schoolName
* @param teacherName
* @param year
* @param studentName
* @param mathGrade
* @param scienceGrade
* @param socialStudiesGrade
*/
public ReportCard(String schoolName, String teacherName, String year, String studentName,
int mathGrade, int scienceGrade, int socialStudiesGrade) {
mSchoolName = schoolName;
mTeacherName = teacherName;
mYear = year;
mStudentName = studentName;
this.mMathGrade = mathGrade;
this.mScienceGrade = scienceGrade;
this.mSocialStudiesGrade = socialStudiesGrade;
}
public String toString() {
return "School: " + getSchoolName() + '\n' +
"Student Name: " + getStudentName() + '\n' +
"Teacher Name: " + getTeacherName() + '\n' +
"Year: " + getYear() + '\n' +
"Math Grade: " + mMathGrade + '\n' +
"Science Grade: " + mScienceGrade + '\n' +
"Social Studies Grade: " + mSocialStudiesGrade + '\n' +
"Grade: " + setGrade(mMathGrade, mScienceGrade, mSocialStudiesGrade);
}
}
とエラー:この行で
Process: com.example.android.reportcard, PID: 27731
java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.example.android.reportcard/com.example.android.reportcard.ReportCard}: java.lang.InstantiationException: java.lang.Class<com.example.android.reportcard.ReportCard> has no zero argument constructor
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2327)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476)
at android.app.ActivityThread.-wrap11(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5417)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
Caused by: java.lang.InstantiationException: java.lang.Class<com.example.android.reportcard.ReportCard> has no zero argument constructor
at java.lang.Class.newInstance(Native Method)
at android.app.Instrumentation.newActivity(Instrumentation.java:1067)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2317)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476)
at android.app.ActivityThread.-wrap11(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5417)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
不要なコードをクラスから削除しました – Sanoop