• 締切済み

javaのプログラムについて

以下のプログラムを実行するとエラーが起こるのですが原因はなんですか? class Tokuten { private String name; private int eng; private int math; private int sci; public void setData(String n, int e, int m, int s) { if(g>0 && g <1000){ name = n; eng = e; math = m; sci = s; } void show() { System.out.println("受験生の名前は" + name + "です。"); System.out.println("英語は" + eng + "点です。"); System.out.println("数学は" + math + "点です。"); System.out.println("理科は" + sci + "点です。"); } } class TokutenMain { public static void main(String[] args) { Tokuten jukensei = new Tokuten(); jukensei.setData("Hanako",81,67,78); jukensei.show(); } }

noname#201611
noname#201611
  • Java
  • 回答数3
  • ありがとう数11

みんなの回答

回答No.3

もう一つのサンプルです。 //Tokutenクラスの始まり public class Tokuten { private String name; private int eng; private int math; private int sci; String crlf = System.getProperty("line.separator"); public Tokuten() {} public void setData(String n, int e, int m, int s){ name = n; eng = e; math = m; sci = s; } public void show(){ System.out.println("受験生の名前は" + name + "です。"); System.out.println("英語は" + eng + "点です。"); System.out.println("数学は" + math + "点です。"); System.out.println("理科は" + sci + "点です。"); System.out.print(crlf); } } // Tokutenクラスの終わり // TokutenMainクラスの始まり public class TokutenMain { public static void main(String[] args){ Tokuten jukensei = new Tokuten(); jukensei.setData("Hanako",81,67,78); jukensei.show(); } } // TokutenMainクラスの終わり 下記は、ファイルを実行して得られた結果です。 受験生の名前はHanakoです。 英語は81点です。 数学は67点です。 理科は78点です。

回答No.2

自分で作成したプログラム。そして、私が作成したプログラムをよく見て比較してください。 1.まず最初に、「Tokuten.java」ファイルを作成してください。 2.次に下記のプログラム(Tokutenクラスの始まりです。~ Tokutenクラスの終わりです。)をコピー、貼り付けをしてください。保存してください。 // Tokutenクラスの始まりです。 public class Tokuten { private String name; private int eng; private int math; private int sci; String crlf = System.getProperty("line.separator"); // 改行コードを取得して変数に格納してます。 public Tokuten(String name, int eng, int math, int sci) { this.name = name; this.eng = eng; this.math = math; this.sci = sci; } void show(){ System.out.println("受験生の名前は" + name + "です。"); System.out.println("英語は" + eng + "点です。"); System.out.println("数学は" + math + "点です。"); System.out.println("理科は" + sci + "点です。"); System.out.print(crlf); // 改行してます。 } } // Tokutenクラスの終わりです。 3.まず最初に、「TokutenMain.java」ファイルを作成してください。 4.次に下記のプログラム(TokutenMainクラスの始まりです。~ TokutenMainクラスの終わりです。)をコピー、貼り付けをしてください。保存してください。 // TokutenMainクラスの始まりです。 public class TokutenMain { public static void main(String[] args){ Tokuten jukensei1 = new Tokuten("Hanako",81,67,78); Tokuten jukensei2 = new Tokuten("taro",81,67,78); Tokuten jukensei3 = new Tokuten("ikkaKei",81,67,78); jukensei1.show(); jukensei2.show(); jukensei3.show(); } } // TokutenMainクラスの終わりです。 ファイルを実行すると下記の結果が得られます。 受験生の名前はHanakoです。 英語は81点です。 数学は67点です。 理科は78点です。 受験生の名前はtaroです。 英語は81点です。 数学は67点です。 理科は78点です。 受験生の名前はikkaKeiです。 英語は81点です。 数学は67点です。 理科は78点です。 下記は、エラー!!となった原因です。 まずは、Javaプログラムはメソッドの中にメソッドを作成することができないのです。しかし、メソッドの中でメソッドを呼び出すことはできる。次に、変数gは変数の初期化ができていない。 下記は、おすすめの書籍著者です。 著者:川場 隆 タイトル:わかりやすいJavaオブジェクト指向編

回答No.1

何となくですが・・・ 条件分のif(g>0 && g <1000)のgが指定されていないので、エラーが出てきてしまうのではないかと思うのですが。 javaに関して初心者なので、間違っているかもしれませんが参考までに。 エラーを出して出して、力をつけていくのがPGだと言われました。

関連するQ&A

  • 得点を表示するクラス

    class Tokuten { private int id; private String name; private int eng; private int math; private int sci; Tokuten(int i,String nm,int e,int m,int k) { id=i;name=nm;eng=e;math=m;sci=k; } void show() { System.out.println("("+id+","+name+","+ eng+","+ math+","+ sci+")"); } } public void push(Tokuten tokuten) { if(sp!=tokutens.length) { tokuten.show(); System.out.println("push"); students[sp++]=student; } else { System.out.println("Stack is full"); } } class Sample { public static void main(String[] args) { Stack ss=new Stack(0); ss.push(new Tokuten(1,"Jiko",72,80,68)); (Tokuten)(ss.pop()).show(); } 下記のような得点の表を表示したいのですがうまくいきません set Dataという得点を受け取って各フィールドに格納するやり方が分からないのでエラーばかり出るのだと思います、どなたかソースなどお教えくださると助かります

    • ベストアンサー
    • Java
  • スタックで成績表を作るプログラム。

    成績表を作りたい。Studentのクラスを要素とするクラスStackを完成させてプログラムが動作するようにせよという問題なのですがprivateの物をどうやって要素にすればよいのでしょうか? class Student { private int id; private String name; private int eng; private int math; private int kokugo; Student(int i,String nm,int e,int m,int k) { id=i;name=nm;eng=e;math=m;kokugo=k; } void show(){ System.out.println("("+id+","+name+","+ eng+","+ math+","+ kokugo+")"); } } class Stack { } class Sample { public static void main(String[] args) { Stack ss=new Stack(3); ss.push(new Student(1,"A",10,10,10)); ss.push(new Student(2,"B",20,10,10)); ss.push(new Student(3,"C",30,10,10)); ss.push(new Student(4,"D",40,10,10)); ss.pop(); ss.pop(); ss.pop(); ss.pop(); } }

    • ベストアンサー
    • Java
  • javaのプログラムについて

    java始めたばかりの者です。 class sample1 { public static void main(String[] args) { for(int i=1; i<=5; i++){ for(int j=0; j<i; j++){ System.out.println("*"); } System.out.println("\n"); } } } これを実行すると * * * * * * * * * * * * * * * こうなってしまい * ** *** **** ***** このようにするにはどうしたらいいのでしょうか??

    • ベストアンサー
    • Java
  • identifierについて教えて下さい

    大学の課題をやっていたところ、わからないところが出てきてしまったので教えていただけないでしょうか? エラーが一箇所出てきてしまい、それが <identifier>がありません。 int setDate2(int d,e){ ^ となっています。 初歩的な質問なのですが、調べても分からないので宜しければお願い致します。 以下ソース class Hito{ //フィールド String name; int age; //メソッド String setDate(String a){ name = a; } int setDate(int b){ age = b; } void talk(){ System.out.println(name); System.out.println(age); } } class Gakusei extends Hito{ //フィールド String daigaku; int gakunen; int bangou; //メソッド String setDate2(String c){ daigaku = c; } int setDate2(int d,e){ gakunen = d; gakuseki = e; } void talk(){ System.out.println(daigaku); System.out.println(gakunen); System.out.println(bangou); } } class kadai2{ public static void main(String[] args){ Hito taro = new Hito(); taro.setData("太郎",18); taro.talk(); Gakusei jiro = new Gakusei(); jiro.setData("次郎",20); jiro.setData2("○○○○大学",2,2100000); jiro.talk(); } }

    • ベストアンサー
    • Java
  • java iを1づつ増やすプログラムと2づつ増やすプログラム

    次のようにすればiを1づつ増やして表示されます。 class Calc{   int i=1;   int add(){     return i++;   } } class Count{   public static void main(String[] args){     Calc calc = new Calc();     System.out.println("i = " + calc.add());     System.out.println("i = " + calc.add());     System.out.println("i = " + calc.add());   } } 実行結果 i = 1 i = 2 i = 3 しかし次のように2づつ増やそうとすると、 class Calc{   int i=1;   int add(){     return i+2;   } } class Count{   public static void main(String[] args){     Calc calc = new Calc();     System.out.println("i = " + calc.add());     System.out.println("i = " + calc.add());     System.out.println("i = " + calc.add());   } } 実行結果 i = 3 i = 3 i = 3 このようになってしまいます。どこがおかしいのでしょうか?

    • ベストアンサー
    • Java
  • Javaのプログラムについて教えてください!

    //Sub.java package prac; class Super{ public void A(){ String address = new String("Osaka"); System.out.println(address); } } public class Sub extends Super{ public void A(){ String address = new String("Kyoto"); System.out.println(address); } public int A(String tmp){ return Integer.parseInt(tmp); } } このプログラムを他のクラスのmain関数から呼び出す場合どのようなコードになりますか?また、間違えているところがあれば合わせて教えてください。

    • ベストアンサー
    • Java
  • java.util.Listについてです。

    以下の配列プログラムをava.util.Listを使うとどういう感じになるのでしょうか? 何卒ご回答よろしくお願い致します。 class CustomerManager { public static void main(String[] args){ CustomerManager manager = new CustomerManager(); manager.addCustomerCard( "山田一郎"); manager.addCustomerCard( "鈴木太郎"); manager.addCustomerCard( "田中次郎"); manager.printAllInfo(); } private CustomerCard[] customers = new CustomerCard[5]; private int index = 0; public void addCustomerCard(String name){ customers[index] = new CustomerCard(1 + index,name); index++; } public void printAllInfo() { System.out.print("ID =" + customers[0].id + ","); System.out.println("名前 = " + customers[0].name); System.out.print("ID =" + customers[1].id + ","); System.out.println("名前 = " + customers[1].name); System.out.print("ID =" + customers[2].id + ","); System.out.println("名前 = " + customers[2].name); } } class CustomerCard { String name; int id; public CustomerCard(int id,String name){ this.name = name; this.id = id; } public String getName(){ return this.name; } }

    • ベストアンサー
    • Java
  • java 一意のIDを振り分けるには。。。

    一意のIDの振り分け方がわかりません。。。 以下のプログラムを改良したいのですが。 CustomerManagerが内部でです。ただCustomerManagerインスタンス毎に一意で構いません。 addCustomerメソッドの整数型引数は除去します。 何卒ご回答よろしくお願い致します。 package exercise12; class CustomerCard { String name; int id; public CustomerCard(int id,String name){ this.name = name; this.id = id; } public String getName(){ return this.name; } } package exercise12; class CustomerManager { public static void main(String[] args){ CustomerManager manager = new CustomerManager(); manager.addCustomerCard(1, "山田一郎"); manager.addCustomerCard(2, "鈴木太郎"); manager.addCustomerCard(3, "田中次郎"); manager.printAllInfo(); } private CustomerCard[] customers = new CustomerCard[4]; private int index = 0; public void addCustomerCard(int id,String name){ customers[index] = new CustomerCard(id,name); index++; } public void printAllInfo() { System.out.print("ID =" + customers[0].id + ","); System.out.println("名前 = " + customers[0].name); System.out.print("ID =" + customers[1].id + ","); System.out.println("名前 = " + customers[1].name); System.out.print("ID =" + customers[2].id + ","); System.out.println("名前 = " + customers[2].name); } }

    • ベストアンサー
    • Java
  • java 乱数

    class Randm3 { public static void main(String[] args) { int inum = (int)(Math.random()*2); if (inum == 1){ System.out.println(“吉”); } else{ System.out.println(“凶”); } } } を改編して‘大吉’と‘吉’と‘凶’をそれぞれ0.1と0.6と0.3の確率で表示する javaプログラムを作成してください。

  • JAVAのComparableについて・・・

    compareto()を使って名前、身長、体重を「身長昇順」拡張for文でだしたいのですが・・・ (1)returnを使って何を返せばいいのか? (2)System.out.println()でなにをすればいいのか? (3)他の文で間違っているのか? この3点が分かりません。JAVAに詳しい方よろしくお願いします。。。 package class; public class NewClass { public static void main(String[] args) { NewClass2 A = new NewClass2("aaa", 160, 40); NewClass2 B = new NewClass2("bbb", 170, 60); NewClass2 C = new NewClass2("ccc", 150, 70); System.out.println("---Comparable---"); Set<Comparable> ts3 = new TreeSet<Comparable>(); ts3.add(A); ts3.add(B); ts3.add(C); for(Comparable cm : ts3) { System.out.println(?????????????); } package class; public class NewClass2 implements Comparable< NewClass2> { private String name; private int Weight; private int Height; public String getName() { return this.name; } public void setName(String name) { this.name = name; } public int getWeight() { return this.Weight; } public void setWeight(int Weight) { this.Weight = Weight; } public int getHeight() { return this.Height; } public void setHeight(int Height) { this.Height = Height; } public StudentBean(String name, int Height, int Weight) { this.name = name; this.Weight = Weight; this.Height = Height; } @Override public int compareTo(Object arg0) { StudentBean sb = (StudentBean)arg0;     String name1 = this.name; int Height1 = this.Height; int Weight1 = this.Weight;     int returnval = 0; if(Height1 > sb.getHeight()) { returnval = 1; } else if(Height1 < sb.getHeight()) { returnval = -1; } else returnval = 0; } return ???????; } 文は以上です 出力は aaa 160 40 ・ ・ ・ なかんじでお願いします。

専門家に質問してみよう