Javaの文法

Javaプログラミングの勉強をはじめたばかりですが、本を見てもいまいちよくわかりません。多分、わからないのはpublic...

xinman さんからの 回答

  • 2001/03/23 14:32
  • 回答No.3
xinman

ベストアンサー率 30% (25/83)

>本にはargsという配列で統一しているのですか?
引数を英語では「argument」と書きます。
ここから「arg」という名前がついています。C言語でも多く見られる表現です。
また、最後の「s」は配列だから複数形の「s」です。
配列にならなければ「arg」、配列になれば「args」ですね。

>コンパイルは成功しますが実行できません。これはなぜでしょうか?
Javaのプログラムは「void main(String[])」から実行が開始されます。
>void main(){
とした場合は、引数の型が「(String[])」と「()」で異なるために別のメソッドとて識別されます。
したがって「void main(String[])」型で定義されたメソッドがない場合は実行の開始が出来ません。
この回答にこう思った!同じようなことあった!感想や体験を書こう!
この回答にはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。
関連するQ&A
  • JAVA初心者です。 Java

    以下の文法でコンパイルエラーが出ます。 添削をお願いします。 import java.util.Random; public class Test{ public static void main(String[] args){ int n; for (n = 0; n < 200; n++){ int i; for (i = 0; i < 38; i++) { Random rnd = new Random(); int ran = rnd.nextInt(10); System.out.print(ran); System.out.print(" "); for (t = 0; t < 200; t++) } System.out.println(); } } }...

  • Javaで日本語の出力が文字化けする Java

    Javaプログラミング初心者です。 開発環境でNetBeans IDE 7.2.1を使用してプログラミングの勉強をしているのですが、 日本語の入力・表示を行った場合、必ず文字化けしてしまいます。 サンプルコードは下記の通りです。 ================================ public class Main{ public static void main (String[]args){ System.out.println ("名前を入力してください"); String name = new java.util.Scanner ( System.in).nextLine(); System.out.println ("名前は" + name + "です"); } } ================================ 上記コードで、変数nameに日本語を入力すると、文字化けしてしまいます。 コマンドプロンプトや、web上のJava開発環境(どこJava http://dokojava.jp/pc/index.html)では、 同じソースで正常に日本語表示されるので、NetBeanの設定では無いかと思っております。 自力では解決方法が見つからなかったので、ぜひアドバイスをいただければと思います。 よろしくお願いします...

  • javaのmainの引数はなぜstring[]? Java

    Java初心者です。 基礎的なことなのですが、質問させてください。 javaのmainメソッド定義の public static void main (String[] args) について、String[] argsの部分がjavaコマンドで実行する際に与える引数であることは 理解できました。しかし、なぜStringの配列なのかが理解できません。 実行時の引数であれば、intやdoubleも使い道があるようにも感じるので、 プログラマの好きに定義できた方が便利な気がしますし、実行時に引数を与えないなら public static void main () としてしまったほうがわかりやすいとも感じてしまいます。 実はコンパイル時や実行時に裏の見えない部分でStringの配列を使っているとか、 何か理由があるのでしょうか? mainの定義は main (String[] args)と暗記でもいいのですが、 気になったので知りたく、質問させてください。...

  • ストリームの問題について【至急】 Java

    import java.io.*; public class FileStreamDemo { public static void main(String[] args){ try{ byte[] buffer=new byte[1024]; FileInputStream fileInputStream= new FileInputStream(new File(args[0])); FileOutputStream fileOutputStream= new FileOutputStream(new File(args[1])); System.out.println("コピーファイル: "+fileInputStream.available()+"バイト"); while(true){ if(fileInputStream.available()<1024){ int remain=-1; while((remain=fileInputStream.read())!=-1){ fileOutputStream.write(remain); } break; } else{ fileInputStream.read(buffer); fileOutputStream.write(buffer); } } fileInputStream.close(); fileOutputStream.close(); System.out.println("コピー完了"); } catch(ArrayIndexOutOfBoundsException e){ System.out.println( "using:java FileStreamDemo src des"); e.printStackTrace(); } catch(IOException e){ e.printStackTrace(); } } } JAVAの入門者です。 JAVAの教科書に書いてあるように、上のプログラムを書きましたけど… コンパイルすると、エラーメッセージが出て来ます。 エラー中身は下記のとおりです。 【using:java FileStreamDemo src des java.lang.ArrayIndexOutOfBoundsException: 0 at FileStreamDemo.main(FileStreamDemo.java:8) 】 どうすればいいのか悩んでいます。 誰か、助けていただけないのでしょうか?どこか間違ってるか、教えてください。 よろしく、お願いします。...

  • 【Java】ある数列から、素数を探すプログラムについて Java

    Java初心者です。独学なので質問できる環境が無く、 こちらで質問致します。回答をお願い致します。 以下のプログラムについて質問です。 class Prime { public static void main(String[] args) { int max = 100; // 素数を探す数の最大値 boolean[] a = new boolean[max]; // 素数かどうか判定する配列 // 配列の初期化 for(int i = 0; i < max; i++) a[i] = true; // 素数かどうか判定 for(int i = 2; i < max; i++) { if(a[i-1]) { for(int j = 2; i*j <= max; j++) a[i * j - 1] = false; } else continue; } // 結果を表示 for(int i = 1; i < max; i++) { if(a[i]) System.out.print((i + 1) + " "); } System.out.println(); } } 上記の「配列の初期化」の個所、 for(int i = 0; i < max; i++) a[i] = true; ここでなぜ、a[i] = true;となるかわかりません。 0と1はどちらも素数ではないと思うので、 私はtrueではないと思うのですが・・・。 ぜひとも教えて頂きたいと思います。...

ページ先頭へ