Javaについての質問です

このQ&Aのポイント
  • Javaのプログラムでエラーが発生し、出力ができません。どこが間違っているのか教えてください。
  • Javaのプログラムで、Abst_Classクラスを継承してサブクラスにnum1=1という変数を持たせたいです。
  • Javaのプログラムで、Class1クラスとClass2クラスがあり、それぞれshow1とshow2メソッドを持っています。
回答を見る
  • ベストアンサー

Javaについて

Javaについての質問です。 下記のプログラムは Abst_Class show1 can be inheritted to a subclass num1=1 Class1 show2 is created in Class1 num1=1 num2=2 Class2 show1 is inheritted and overridden in Class2 num1=10 str=SSSSSS Class2 show2 is created in Class2 num1=10 str=SSSSSS と出力するプログラムなのですがエラーが出て出力できません。どこがいけないのか教えていただけないでしょうか? お願いいたします。 interface itr{ itr(){} void show(); void dai(); } abstract abr implements itr{ abr(){ int num1; num1=1; } public void dai(){ if(num1==0){ num1=1; } } public void show(){ dai(); System.out.println("Abst_Class show1 can be inheritted to a subclass num1="+num1); } abstract show1(); } class Class1 extends abr{ int num2; Class1(int a,int b){ num1=a; num2=b; } public void show1(){ super.show(); } void show2(){ super.show(); System.out.println("Class1 show2 is created in Class1 num1="+num1+"num2="+num2); } } class Class2 extends abr{ String str; Class2(int num,String str){ this.str=str; num1=num; } public void show1(){ System.out.println("Class2 show1 is inheritted and overridden in Class2 num1="+num1+"str="+str); } void show2(){ System.out.println("Class2 show1 is inheritted and overridden in Class2 num1="+num+"str="+str); } } class K10_6{ public static void main(String args[]){ Class1 f1 = new Class1(1, 2); Class2 f2 = new Class2(10,"SSSSSS"); f1.show1(); f1.show2(); f2.show1(); f2.show2(); } } .\abr.java:1: class、interface、または enum がありません。 abstract abr implements itr{ ^ .\abr.java:4: class、interface、または enum がありません。 num1=1; ^ .\abr.java:5: class、interface、または enum がありません。 } ^ .\abr.java:6: class、interface、または enum がありません。 public void dai(){ ^ .\abr.java:9: class、interface、または enum がありません。 } ^ .\abr.java:11: class、interface、または enum がありません。 public void show(){ ^ .\abr.java:13: class、interface、または enum がありません。 System.out.println("Abst_Class show1 can be inheritted to a subclass num1="+num1 ); ^ .\abr.java:14: class、interface、または enum がありません。 } ^ .\abr.java:15: class、interface、または enum がありません。 abstract show1(); ^ .\abr.java:16: class、interface、または enum がありません。 }

  • Java
  • 回答数2
  • ありがとう数0

質問者が選んだベストアンサー

  • ベストアンサー
  • jjon-com
  • ベストアンサー率61% (1599/2592)
回答No.1

interface itr { void show(); void dai(); } abstract class abr implements itr { int num1; abr() { num1=1; } public void dai() { if (num1 == 0) { num1=1; } } public void show() { dai(); System.out.println("Abst_Class show1 can be inheritted to a subclass num1=" + num1); } abstract void show1(); }

その他の回答 (1)

  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.2

> エラーが出て出力できません。 まず。エラーの内容をよく読んで、何を意味しているか考えましょう。 その文章で検索すると、大抵、その原因となる間違いと対処法がみつかります。 そして、上から一つずつ解決していきましょう。 上の方で間違っているのが原因で、構文解析に失敗して、下でエラーになることがあります。 特に間違っていないように見えるのにエラーが大量に出るのは、そういうときです。 > .\abr.java:1: class、interface、または enum がありません。 > abstract abr implements itr abstructだけで使うことはありません。通常の関数やクラス等の前に付けるものです。 記述されている場所を考えたら「class、interface、または enum」のいずれかの宣言のはずなのに、そのどれでもない abr になっている、というエラーです。 以下は、これによって期待する文法になっていないため発生しているもので、このエラーが取れたら内容が変化します。 このエラー以外では ○ interfaceにはコンストラクタはありません。 ○以下の「コンスラクタ」 abr(){ int num1; num1=1; } でのnum1は、コンストラクタの中だけで有効なローカル変数です。 あなたが期待しているものとは違うはずです。

関連するQ&A

  • javaの配列とクラス

    abstract class abstract_class{ } class subclassA extends abstract_class{ int num = 1; } class subclassB extends abstract_class{ int num = 2; } class subclassC extends abstract_class{ int num = 3; } class Main{ public static void main(String args[]){ int sum = 0; abstract_class var[] = new abstract_class[3]; var[0] = new subclassA(); var[1] = new subclassB(); var[2] = new subclassC(); for(int i=0;i<3;i++) sum += var[i].num; System.out.println(sum); } } これをコンパイルすると Main.java:23: シンボルを見つけられません。 シンボル: 変数 num 場所 : abstract_class の クラス for(int i=0;i<3;i++) sum += var[i].num; ^ エラー 1 個 というエラーが出るのはなぜでしょうか? var[i]はみなsubclassA,subclassB,subclassCが代入されているのに、numはabstract_classの変数となっています。 よくわかりません。 よろしくお願いします。

    • ベストアンサー
    • Java
  • インタフェイス実装と抽象クラス継承を同時に使うには??

    私はjava初心者です、今練習問題で困っています。 1つのクラスに抽象クラスとインターフェイスを 実装することはできるのでしょうか? 例えば abstract class Car { private String gas; public void getGas(int gas) { this.gas = gas; } public abstract void enjin(); } interface Flying extends Pet { void show(); } 上のインタフェイスと抽象クラスを同時に下のクラスに継承、実装しよう とすると、どんな風にかけば良いのでしょうか class Zoon { public Zoon() { super(); } public void enjin() { System.out.println("どどどどど"); } public void show() { System.out.println("いいくるまだ"); } }

    • ベストアンサー
    • Java
  • 初心者Javaの件。

    いつも大変お世話になりありがとうございます。 次の2つのコードは関係があるのでしょうか? 2つを合体させないとプログラムがエラーになるのでしょうか? 私は合体させないとプログラムが成立しないと思います。 アドバイスのほど宜しくお願い申し上げます。 コード1 public class Person { private int age; private double weight; private double height; public Person(int age, double weight, double height) { this.age = age; this.weight = weight; this.height = height; } public void show() { System.out.println("年齢は" + age + "体重は" + weight + "身長は"+ height +"です。" ); } } コード2 import java.io.BufferedReader; public class Sample3 { { public static void main(String args[]) throws Exception { person p[]; System.out.println("人数を入力してください。"); BufferedReader br = new BufferedReader(new inputStreamReader(System.in)); String str = br.readLine(); int num = Integer.parseInt(str); p = new Person[num]; for(int i=0; i<num; i++) { } System.out.println("年齢を入力してください"); str = br.readLine(); int age = Integer.parseInt(str); P = new Person[num]; for(int i=0; i<num; i++){ System.out.println("年齢を入力してください"); str = br.readLine(); int age = Intger.parseInt(str); System.out.println("体重を入力してください"); str = br.readLine(); double weight = Double.parseDouble(str); System.out.println("身長を入力してください"); str = br.readLine(); double height = Double.parseDouble(str); p[i] = new person(age, weight, height); } for(int i=0; i<num; i++) { p[i].show(); } } }

    • ベストアンサー
    • Java
  • コンパイルエラー

    以下のようなソースファイルをコンパイルしたらコンパイルに失敗してしまいました。エラーは『Cls1はabstractで宣言する必要があります。show(int)をCls1で定義しません』と出ます。これはどういうことでしょうか。 interface Int1 { int x=100; void Show(int y); } class Cls1 implements Int1 { public void show(int x) { System.out.println(x); } } class Test12 { public static void main(String args[]) { Cls1 c; c = new Cls1(); c.show(200); } }

    • ベストアンサー
    • Java
  • javaについて

    以下のようにキーボードから入力していくプログラムを試行しているのですが、エラーが出てくるので行き詰まっています。 理想的にはキーボードに”あいう”エンター”えおか”エンターと打ち込んだら str[0]=あいう str[1]=えおか と表示させていきたいのですが、よろしくお願いします。 import java.io.*; import java.lang.*; import java.net.*; import java.awt.*; class gugu2 { public static void main(String[] args) throws IOException { int i=0; while(i<2){ System.out.println("キーワード入力"); BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String input = br.readLine(); char str[] = input.toCharArray(); System.out.println("キーワードは" + str[]); i=i+1; } for(i=0;i<2;i++){ System.out.println(str[]); } } } これがエラー表示です。 gugu2.java:17: '.class' がありません。 System.out.println("キーワードは" + str[]); ^ gugu2.java:21: '.class' がありません。 System.out.println(str[]); ^ エラー 2 個

    • ベストアンサー
    • Java
  • Javaのインタフェースについて教えてください!

    interface Area{ String str = "計算結果は"; String str2 = "です。"; } class VArea implements Area{ int vertical, horizon; VArea(int a, int b){ vertical = a; horizon = b; } System.out.print(str);//1 public void getArea(){ System.out.println(vertical * horizon); }; System.out.print(str2);//2 } public class Main{ public static void main(Stirng[] args){ VArea va = new VArea(10,3); } } Javaのインタフェースを実装してコンソールに >計算結果は30です。 というように出力したいのですが、”計算結果”と”です。”と出力する方法が見出せません。 わかる方教えてください。 エラーの出ている箇所は1と2です。

    • ベストアンサー
    • Java
  • javaの質問です。

    JAVAの質問です。 (replaceを使わない置換) java あいういあ あ !! > !!いうい!! 上のように、引数1に引数2の文字が含まれていればその文字を引数3に置き換えるという問題を解いているのですが、思うようにいきません。引数2が1文字なら簡単なのですが、2文字・3文字の場合が全く分かりません。また、replace系も使うことはできません(replacefirstなど)。 コード例を挙げて頂けないでしょうか? 丸投げなのは重々承知しておりますが、どうかよろしくお願い致します。 class Replace{   public static void main(String args[]){     String str=args[0];     int num = str.indexOf(args[1]);     while(num != -1){       str=(str.substring(0,num)+args[2]+str.substring(num+1));       System.out.print(str);     }     System.out.println();    } } 一応こんな感じかな?と思ってコードを作ってはいるのですが、結果としては散々です。。。

    • ベストアンサー
    • Java
  • すみませんが以下のJavaプログラムが実行できないです。

    どこが間違ってる所を修正してくれませんか? abstract class Vehicle { protected int speed; public void setSpeed(int s) { speed = s; System.out.println(“速度を” + speed + “にしました。”); } abstract void show(); } class A { public static void main(String[] args) { Vehicle vc; vc = new Vehicle(); vc.setSpeed(100); vc.show(); } }

  • 今勉強中のjavaで。わからないことがあります。

    import java.io.*; class Ireru { public static void main(String args[]) throws IOException{ System.out.println("あなたは何歳ですか?"); BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String str1 = br.readLine(); int num =Integer.parseInt(str1); System.out.println("あなたは" + num +"歳です。"); } } ------------------------------- import java.io.*; class Ireru { public static void main(String args[]) throws IOException{ System.out.println("あなたは何歳ですか?"); BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String str1 = br.readLine(); System.out.println("あなたは" + str1 +"歳です。"); } } なぜ下では悪いのですか?なぜnum をつかないといけないかがわかりません。正確には str1とnumの違いがわからなくて困っています。何が混乱の原因ですか?

    • ベストアンサー
    • Java
  • Javaで計算

    Javaを10月から始めた初心者です。 摂氏から華氏に変えるプログラムを作成したいのですが、結果が合いません。 計算の所のプログラムが間違っているのだと思うのですが、どうすれば良いのか分からないので教えてください。 import java.io.*; class quiz01{ public static void main(String[] args) throws IOException{ System.out.println("摂氏の温度℃を入力してください。"); BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String str = br.readLine(); int num = Integer.parseInt(str); int F = 9/5*num+32; System.out.println("華氏の温度Fは " + F + " です。"); } } よろしくお願いします!

    • ベストアンサー
    • Java

専門家に質問してみよう