• ベストアンサー

コマンドプロンプトを使用して。

よろしくお願いいたします。ネット上にあったサンプルコードをコンパイルし、実行したところ 「Exception in thread "main"java.lang.NoSuchMethodError: main」というメッセージが表示されたのですがどういうことなのでしょうか? コードは以下の通りです。わかる方いましたらよろしくお願いいたします。 public class Sample { public static void main(String[] args1,String[] args2) { MyObject object = new MyObject(); object.setName("mikel"); String s = object.getName(); System.out.println(s); } } class MyObject { String name; public void setName(String str) { name = str; } public String getName() { return name; } }

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

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

  • ベストアンサー
noname#18558
noname#18558
回答No.2

public class Sample { public static void main(String[] args1) { MyObject object = new MyObject(); object.setName("mikel"); String s = object.getName(); System.out.println(s); } } class MyObject { String name; public void setName(String str) { name = str; } public String getName() { return name; } }

その他の回答 (1)

  • D_B_A
  • ベストアンサー率30% (8/26)
回答No.1

「public static void main(String[] args1,String[] args2) というメソッドは存在しない」かと思われ。 引数が問題なのでは?

1417en
質問者

補足

早速の回答ありがとうございます。 例えば実行時に「java Sample aa bb」と実行しても出てきません。

関連するQ&A

  • 以下のコードのどこが問題なのでしょうか?

    java初心者です。よろしくお願いいたします。以下のコードはどこに問題があるのでしょうか?よろしくお願いいたします。 public class Sample2 { public static void main(String[] args1,String[] args2) { MyObject object = new MyObject(); object.setName("mikel" , "jun"); String s = object.getName(); System.out.println(s); } } class MyObject { String name; public void setName(String str1,String str2) { name = "str1"+"str2"; } public String getName() { return name; } }

    • ベストアンサー
    • Java
  • 文字の表示

    オブジェクトを受け取るメソッド ↓は引数にString型のオブジェクトを指定するプログラムです public class Sample { public static void main(String args[]) { String str = "abcd"; change(str); System.out.println(str); } private static void change(String str) { str = "efgh"; } } 私の中ではefghがでると思っていたんですが・・ これを実行してみると変数strに最初に代入した文字列が表示されるんです! なぜですか? できれば理由を教えてください 回答よろしくお願いします

  • スーパークラスの取得の仕方

    どなたかお知恵を貸してください。 現在抽象クラスを作って表示をさせる実験をしています。 ですが、下記ソースでは、取得したnameをが参照することができません。 どのようにすれば、たまの名前を出すことが出来るのでしょうか よろしくお願いいたします。 abstract class Mammals { /** 名前を表す */ String name; abstract public void introduceOneself(); public void setName(String name) { name = name; } } class Cat extends Mammals { public Cat() { super(); } public void introduceOneself() { System.out.println(name+"です。うにゃにゃ。"); } } class Main { public static void main (String[] args) { Cat tama = new Cat(); //コンストラクタ呼び出し Mammals neko = tama; //コンストラクタ呼び出し neko.setName("たま"); //自己紹介する tama.introduceOneself(); //自己紹介する } }

    • ベストアンサー
    • Java
  • Javaについて教えてください!

    sampleパッケージに属するMain.javaとSub.javaがあり、Main.javaのmainはSub.javaのsubメソッドを呼び出して「OK」と表示させるプログラムを教えてください! //Main.java package sample; public class Main{ public static void main(String[] args){ Sub.sub(); }} //Sub.java package sample; public class Sub{ static String str = "OK"; public static void sub(){ System.out.println(str); }} String型の変数strはクラス変数で行いたいのですが、どこを改善すれば良いでしょうか?

    • ベストアンサー
    • Java
  • コマンドプロンプトから数値で引数を与える時に出るエラーの対処法について

    題名通りなのですが、 コマンドプロンプトで Java Comc1 10 などと入力した際に引数をきちんと計算してくれる プログラムを組みたいのですが、エラーが出てしまいます。 まずはソースですが、以下のようなものを記述しました。 class Comc1{  public static void main(int[] args){   class InnerClass5{    int a=20;    int b=50;    void method1(int num){ System.out.println((a*b)/num);    }   }   InnerClass5 ic5 = new InnerClass5();   ic5.method1(args[0]);  } } コンパイルは問題なく行えるのですが、 いざ実行した際に Exception in thread "main" java.lang.NoSuchMethodError: main といったエラーが出てしまい、動かすことが出来ません。 どなたか分かる方がいましたら教えていただけるとありがたいです。 よろしくお願い致します。

    • ベストアンサー
    • Java
  • NullPointerエラーが起きている

    今JAVAのプログラムの勉強(初心者)をしているのですが、あるプログラムコードを実行すると 「Exception in thread "main" java.lang.NullPointerException at pkg4.pkg9.Main.main(Main.java:22) Java Result: 1」というエラーが起きておりどこがエラーなのかコードを眺めてみたのですがよくわかりません。 ============================================================================ Heroクラス ==================================================================================================== package pkg4.pkg9; public class Hero{ Sword sword; String name; int hp; public Hero (String name) { } public void setSword(Sword sword){ } public Sword getSword(){ return this.sword=sword; } public Hero clone(){ Hero kopi =new Hero (name); kopi.name=this.name; kopi.hp=this.hp; kopi.sword=this.sword; return kopi; } } ===================================================================================================== メインクラス ===================================================================================================== package pkg4.pkg9; public class Main { /** * @param args the command line arguments */ public static void main (String[] args) { // TODO code application logic here Hero hero = new Hero("ミナト"); Sword sword = new Sword ("はがねの剣"); hero.setSword(sword); System.out.println ("装備:"+hero.getSword().getName ()); System.out.println ("cloneで複製します"); Hero hero2 = hero.clone (); System.out.println ("コピー元の勇者の名前を変更します"); hero.getSword ().setName ("ヒノキの棒"); System.out.println ("コピー元とコピー先の勇者の装備を表示します"); System.out.println ("コピー先:"+hero.getSword ().getName ()+ "コピー先"+hero2.getSword ().getName ()); } } ==================================================================================================== Swordクラス ==================================================================================================== package pkg4.pkg9; public class Sword { private String name; public Sword (String name) { int damege; } public String getName(){ return this.name=name; } public void setName(String name){ this.name=name; } } どこがエラーなのか?どなたかご教授願います。

    • ベストアンサー
    • Java
  • エラーメッセージ(初歩)

    こんにちは。早速ですが質問させていただきます。 javaの課題をやっているのですが、どうしてもエラーメッセージ を解決できません。 まずプログラムですが… class Dog1{ private String name; private int age; public Dog1(String n){ name = n; } public Dog1(int a){ age = a; } public void getName(){ System.out.print(name); } public void getAge(){ System.out.print(age); } } class Ex45{ public static void main(String args[]){ Dog1 d = new Dog1(); d.setName("ケイ"); d.setAge(17); System.out.println(d.getName() + "は" + d.getAge() + "才の犬です。"); } } このようなプログラムなのですが、 学校から出された課題なのでいくつか条件があります。 1.main文はそのまま使用する(main文は課題プリントを丸写しの状態です。) 2.Dog1クラスを作成し、Dogクラスの変数はprivate変数とする 以上です。 このような条件でプログラムを考えては見たもののバグが出てしまい 一向に問題が解決しません。 バグの箇所はmain文のd.getName()あたり(void型は使用できない)とのメッセージです。 どなたかよろしくお願いします。

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

    以下のコードがある場合に、想定では「child」が出力されるとおもっていたのですが、 実際は「parent」が出力されます。 3行目でChildをnewしているので16行目のメソッドが呼び出され 画面に「child」が出力されると思っていたのですが、実行結果で その考えが違う事がわかりました。 実行結果から想定すると、3行目で定義している変数sは Parentクラスを指しているため、4行目で呼び出されるメソッドは 9行目になるのかなと思っています。 しかし、Parentクラス及びChildクラスのstaticを外すと 実行結果がchildとなります。 何故staticをつけた場合とつけない場合で実行結果が 異なるのでしょうか。 ■以下コード 1:public class samplexx { 2:  public static void main(String[] args){ 3:    Parent s = new Child(); 4:    System.out.println(s.getName()); 5:  } 6:} 7:class Parent{ 8:  public static String name ="parent"; 9:  public static String getName(){ 10:    return name; 11:  } 12:} 13: 14:class Child extends Parent{ 15:  public static String name="child"; 16:  public static String getName(){ 17:    return name; 18:  } 19:}

  • setNameの使いかたでコンパイルエラーになる。

    「これならわかるJava」講談社を教科書にして勉強している初心者です。下記サンプルが、タイプミスはないとは思うのですが、教科書ではうまく行っているのに、私の場合コンパイルエラーになります。 理由がわかりませんのでご教示くださると助かります。 class Dog { String name; int energy; Dog(String n,int e){ name=n; energy=e; } Dog(){ name="未定"; energy=50; } void bark(){ System.out.println("わん、わん"); energy--; } void intro(){ System.out.println("僕の名前は"+name+"だ。わん。"); System.out.println("エネルギーは"+energy+"だ。わん。"); } void eat(int e){ energy+=e; } void setName(String n){ name=n; } } class PlayWithDog9 { public static void main(String[] args) { Dog x=new Dog("太郎",100); x.intro(); Dog y=new Dog(); y.setName=("次郎");1 //エラー箇所 y.intro(); } } エラー:シンボルが見つけられません。 シンボル:変数setName 場所  :y.setName=("次郎");

    • ベストアンサー
    • Java
  • コマンドラインで配列0~1番目入力したときは?

    使う言語はJava 例えばこんな感じで入力した場合、コマンドラインの配列0~1番目を入力したときコマンドラインでの配列1番目の文字列を値を出力するにはどうしたらいいのでしょうか? コマンドラインを使ってのサンプルソースがあんまり無かった為質問します。 まだまだ初心者脱却していないのでご指導ご鞭撻のほどお願いします。 お早い回答お待ちしています。 java Sample 2012年 1月 1月 考えたサンプルソースはこうです。 public class Ensyuu158 { /** * @param args */ public static void main(String[] args) { for(int i=0; i<args.length; i++){ if(args[i].equals(args[0])){ methodA(args[0]); }else if(args[i].equals(args[1])){ methodB(args[1]); } } }     //コマンドライン配列0~1番目が入力されたら1番目だけの文字列の値を出力する private static void methodB(String str) { System.out.println(str); }     //コマンドラインでの配列0番目が入力されたら0番目だけの文字列の値と文字列を出力したい private static void methodA(String str) { System.out.println(str+"月"); } } }

専門家に質問してみよう