• ベストアンサー

JAVA言語について

gsx_riderの回答

  • gsx_rider
  • ベストアンサー率40% (53/130)
回答No.3

main()はメインメソッドでもいいですね 問題は println() ぷりんとりん‥ 機能から言ったらプリントラインでしょうかね‥

関連するQ&A

  • Java言語のインタフェースについて

    Java言語を学習している者です。 インターフェースについて理解できずに困っております。 ここでは、Runnableインターフェースを例にとります。 (1)正しいコード public class ThreadTest implements Runnable { public static void main (String args[]) { ThreadTest ins = new ThreadTest(); Thread th = new Thread(ins); th.start(); for(int i = 0; i < 10; i++) { System.out.println("main : " + i); } } public void run() { for(int i = 0; i < 10; i++) { System.out.println("run : " + i); } } } (1)のコードは正常に動きます。 (2)間違ったコード (implements Runnableを記述しなかった場合) public class ThreadTest{ public static void main (String args[]) { ThreadTest ins = new ThreadTest(); Thread th = new Thread(ins); th.start(); for(int i = 0; i < 10; i++) { System.out.println("main : " + i); } } public void run() { for(int i = 0; i < 10; i++) { System.out.println("run : " + i); } } } (2)のコードでは、 Thread th = new Thread(ins); で、 コンストラクタ―Thread(ThreadTest)は未定義です。 とエラーが出てしまいます。 確かに未定義なのですが、(1)でも定義していないように思えます。 Runnableインターフェースの働きのお陰だと言うことはわかるのですが、どういった働きによるものなのかがわかりません。 インターフェースのについて、 ・インターフェースのフィールドは必ず定数。 ・インターフェースのメソッドは必ず抽象メソッド。 ・インターフェースはインスタンスを作ることが出来ない。 ・抽象メソッドは必ず実装しなければならない。 は理解しているつもりです。 今回の質問をするに当たって、 RunnableのAPI http://java.sun.com/javase/ja/6/docs/ja/api/java/lang/Runnable.html を見たのですが、それでも理由が分からないので質問致します。 もし宜しかったら、APIの見方についてもコメントして頂けるとありがたいです。 宜しくお願いします。

    • ベストアンサー
    • Java
  • Java何故エラーになるのですか?

    public class Sample3_1 { public static void notMain(String[] args) { System.out.println("not main"); } public static void main (String[] args) { System.out.println("こんにちは、Java"); System.out.println("私の名前は、コウゾウです。"); } } Exception in thread "main" java.lang.Error: Unresolved compilation problems: トークン "Invalid Character" に構文エラーがあります。このトークンを削除してください 構文エラーがあります。"}" を挿入して ClassBody を完了してください at Sample3_1.main(Sample3_1.java:10) "}" を挿入して」と書かれてますが、 "}" には間違いなさそうです。 どなたか解説のほどを宜しくお願い致します。

    • ベストアンサー
    • Java
  • Java初心者です

    次のようなプログラムを作りました interface Vehicle{ void drive(); } abstract class Animal{ abstract void show(); } class Lion extends Animal{ public void show(){ System.out.println("ライオンです"); } } class Horse extends Animal implements Vehicle{ public void show(){ System.out.println("馬です"); } public void drive(){ System.out.println("乗り物として使えます"); } } class Elephant extends Animal implements Vehicle{ public void show(){ System.out.println("象です"); } public void drive(){ System.out.println("乗り物として使えます"); } } class Bear extends Animal{ public void show(){ System.out.println("熊です"); } } class twentyeight{ public static void main(String args[]){ Animal an[]; an = new Animal[4]; an[0] = new Lion(); an[1] = new Horse(); an[2] = new Elephant(); an[3] = new Bear(); for(int i = 0;i < an.length;i++){ if(an[i] instanceof Vehicle){ an[i].drive();//ここにエラーが出る } else{ an[i].show(); } } } } インターフェイスを実装しているオブジェクトを判別し、そのdriveメソッドの呼び出しをしたいのですができません、どなたか教えてください。

    • ベストアンサー
    • Java
  • Java言語のプログラムをC言語にする場合

    次の2つのJava言語のプログラムをC言語にしたいのですが、C言語でプログラムを書いたことがありません。C言語にする場合はどう書けばいいのでしょうか? import java.io.*; public class Sort { public static void main(String[] args) { BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); try{ System.out.println("整数値を入力してください"); String line = reader.readLine(); int a = Integer.parseInt(line); String line2 = reader.readLine(); int b = Integer.parseInt(line2); String line3 = reader.readLine(); int c = Integer.parseInt(line3); String line4 = reader.readLine(); int d = Integer.parseInt(line4); int[] data = {a, b, c, d}; for (int i = 0; i< data.length - 1 ; i++) { for (int j = i + 1; j< data.length; j++) { if(data[i] > data[j]) { int e = data[i]; data[i] = data[j]; data[j] = e; } } } System.out.println("昇順に並べ替えると、"); for (int i = 0; i< data.length; i++) { System.out.print(data[i] + " "); } System.out.println("です。"); } catch (IOException e){ System.out.println(e); } catch (NumberFormatException e) { System.out.println("数式の形式が正しくありません。"); } } } import java.io.*; public class Yakusu { public static void main(String[] args) { BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); try{ System.out.println("2つの整数値を入力してください"); System.out.print("整数A : "); String line = reader.readLine(); int a = Integer.parseInt(line); System.out.print("整数B : "); String line2 = reader.readLine(); int b = Integer.parseInt(line2); if(a%b == 0){ System.out.println("BはAの約数です"); } else { System.out.println("BはAの約数ではありません"); } } catch (IOException e){ System.out.println(e); } catch (NumberFormatException e) { System.out.println("数式の形式が正しくありません。"); } } }

  • java初心者なのですが

    java初心者なのですが クラスの配列を使用して配列の配列を作りたいのですが class B { double a[]; } class A{ public static void main(String[] args){ B[] a =new B[3]; for(int i=0;i<3;i++){ a[i]=new B(); } a[0].a[0]=3;         ・・ここでエラー a[0].a[50]=9; a[0].a[100]=100; a[1].a[200]=150; a[2].a[300]=250; System.out.println("a[0].a[0]="+a[0].a[0]); System.out.println("a[0].a[50]="+a[0].a[50]); System.out.println("a[0].a[100]="+a[0].a[100]); System.out.println("a[1].a[200]="+a[0].a[200]); System.out.println("a[2].a[300]="+a[1].a[300]); } } ここでエラーと書いたところでjava.lang.NullPointerExceptionというエラーが出ます。 何が間違えているのでしょうか?どうのようにすればエラーがなくなるのか教えてください。

    • ベストアンサー
    • Java
  • メソッドのオーバーライド(java)

    class A3{ void hello(){ System.out.println("A3"); } void hello(int i){ System.out.println("A3"+i); } } class B3 extends A3{ void hello(){ System.out.println("B3"); } } class C3 extends B3{ void hello(String s){ System.out.println("C3"+s); } } class MethodOverriding3{ public static void main(String args[]){ A3 obj = new C3(); obj.hello(); } } 上のプログラムを実行すると"B3"と表示されまが、どうしてクラスBのメソッドが実行されるのでしょうか? クラスAのメソッドが無視される仕組みがわかりません。 また、クラスMethodOverriding3でobj.hello("abc")としてコンパイルすると mo.java:25: シンボルを見つけられません。 シンボル: メソッド hello(java.lang.String) 場所 : A3 の クラス obj.hello("abc");   ^ エラー 1 個 とエラーが出ます。 どうしてでしょうか? 誰か教えてください、お願いします。

    • ベストアンサー
    • Java
  • Java言語 漢字とひらがなの判別

    Java言語でテキストファイルを読み取ってテキストファイルの文字を分節に区切るというプログラムを考えています。ファイルの読み取りはできたのですが、漢字とひらがなの区別の部分がわからないので教えていただきたいです。例えばテキストに"私は太郎です。"と書いてあったらそれを読み取って分節で区切った形で表示するようにしたいです。 例 私は 太郎です 。 import java.io.*; class クラス名 { public static void main (String[ ] args) throws IOException { try{ FileReader f = new FileReader("test.txt"); BufferedReader b = new BufferedReader(f); String s; while((s = b.readLine())!=null){ System.out.println(s); } }catch(Exception e){ System.out.println("ファイル読み込み失敗"); } } } 調べてください、勉強しなおしてくださいといった回答はなしでお願いします。

    • ベストアンサー
    • Java
  • Java: ==の扱い

    こんにちは、Javaを勉強しているのですが、質問があります。 まず、以下のコードを見てください。 enum Season{ SPRING, SUMMER, FALL, WINTER } class Sample { public static void main(String args[]){ System.out.println(Season.SPRING == Season.SPRING) } } このコードでは、trueが出力されるのですが ==は、オブジェクトに対して使用しています。(Season.SPRINGやSeason.SPRINGがオブジェクトなので) こういう使い方は見たことないのですが、これは有効なのでしょうか?

    • ベストアンサー
    • Java
  • Java初心者です。宜しくお願い申し上げます。

    Javaの初級者で型変換の箇所です。 コードは public class Sample5_5 { public static void main(String[] args) { long longValue=1; int intValue=2; short shortValue=3; byte byteValue=4; System.out.println("最初の値"); System.out.println(longValue); System.out.println(intValue); System.out.println(shortValue); System.out.println(byteValue); longValue=intValue; intValue=shortValue; byteValue=(byte)shortValue; longValue=intValue; System.out.println("代入後の値"); System.out.println(longValue); System.out.println(intValue); System.out.println(shortValue); System.out.println(byteValue); } } 実行は 最初の値 1 2 3 4 代入後の値 3 3 3 3 ------------------ (program exited with code: 0) Press return to continue 代入後の値が何故 3 3 3 3 となるか解りません。 どなたか解説してもらえませんか? ご多忙中恐縮です。 ご回答の程宜しくお願い申し上げます。

    • ベストアンサー
    • Java
  • 【Java】再帰的なプログラムで予期せぬ動作をする

    【環境】 java version "1.6.0_31" Java(TM) SE Runtime Environment (build 1.6.0_31-b05) Java HotSpot(TM) 64-Bit Server VM (build 20.6-b01, mixed mode) ---------------------------------------------------------------- 以下のようなプログラムを書いたのですが、自分が予測していた動作と異なり、困っています。 私は -------------Start------------- カウント----------->0 2で割り切れちゃった----------->0 カウント----------->1 2で割り切れなかった----------->1 カウント----------->2 2で割り切れちゃった----------->2 カウント----------->3 2で割り切れなかった----------->3 カウント----------->4 2で割り切れちゃった----------->4 -------------End------------- という動作を期待していたのですが、実際は -------------Start------------- カウント----------->0 2で割り切れちゃった----------->0 カウント----------->1 2で割り切れなかった----------->1 カウント----------->2 2で割り切れちゃった----------->2 カウント----------->3 2で割り切れなかった----------->3 カウント----------->4 2で割り切れちゃった----------->4 2で割り切れなかった----------->5 2で割り切れなかった----------->6 2で割り切れなかった----------->7 -------------End------------- となってしまいました。考えても、どうしてこのように動作するのか理解できなかったので、こちらに質問しました。よろしくお願いします(ソースコードは下です)。 -----------------以下、ソースコード----------------- Main.java public class Main {     public static void main(String args[])     {         Saiki saiki = new Saiki();         System.out.println("-------------Start-------------");         saiki.playSaiki();         System.out.println("-------------End---------------");     } } Saiki.java public class Saiki {   private int counter;   Saiki()   {     counter = 0;   }   public void playSaiki()   {     if(counter < 5)     {       System.out.println("カウント----------->" + counter);       if(counter%2 == 0)       {         System.out.println("2で割り切れちゃった----------->" + counter);         counter++;         playSaiki();       }       System.out.println("2で割り切れなかった----------->" + counter);       counter++;       playSaiki();     }   } }

    • ベストアンサー
    • Java