上記の文では、String
配列の代わりにint
配列を使用できますか?かっこ内に何も入れていない場合、つまり空のかっこを使用するとどうなりますか?java基本的な基本的な質問
答えて
Int array
の意味はわかりませんが、できません。メソッドシグネチャは、public static void main(String[] args)
と完全に一致する必要があります。変更できるのは引数の名前だけです。メソッドの名前、引数の型、可視性(publicとprivateなど)は、ランタイムがメソッド自体を見つけるために使用するものです。そのシグネチャに準拠していない場合は、エントリポイントメソッドではないため、アプリケーションの起動時に呼び出されることはありません。
しかし、あなたが示唆していることは問題なくコンパイルされることに注意してください。アプリケーションを実行しようとするまで、問題は発生しません。
コンパイラは受け付けますが、ランタイムはあなたを与えるだろうあなたが言及した変更でコードをコンパイルするとNoSuchMethodErrorが
、それが正常にコンパイルされます。実行しようとすると、JVMは引数としてString配列を持つmainメソッドをチェックします。引数としてString配列を持つメインメソッドがないので、コードは正常に実行されず、NoSuchMethodErrorがスローされます。
コードはコンパイルされますが実行されません。
文字列[]の理由は、人々がコマンドラインからパラメータを渡せるようにするためです。
主な方法は、Javaアプリケーションのエントリポイントです。あなたはjava language specificationを見れば、それは、具体的に述べ:
メソッドmainが は、公共の静的な、ボイド宣言されなければなりません。 は、 文字列の1つの引数を受け入れる必要があります。このメソッドは、渡されたString []型の配列は、アプリケーションを立ち上げどんなことで渡されている任意のコマンドライン引数が含まれているいずれかの
または
public static void main(String... args)
として を宣言することができます。あなたはそれを読んで必要に応じて変換することができます。
あなたは、数字の代わりに文字列を取得
public static void main(String[] args) {
int[] numbers = new int[args.length];
for(int i = 0; i < args.length; i++) numbers[i] = Integer.parseInt(args[i]);
}
は例外の処理このアプローチを使用することを探しているなら、読者のための運動です。
他の回答はあなたの他の問題の「理由」をよく説明しています。
いいえ、文字列配列の代わりにint配列を使用することはできません。引数int
がオペレーティングシステムによって使用され、ユーザーが入力したコマンドライン引数の数を指定する整数値を渡すためです。次のパターンに従わなければなりません。
public static void main(String[] args)
public static void main(String args[])
いいえ、それはクラスのテストで発見していない Mainメソッドのような実行時エラーを生成し、としてmainメソッドを定義してください。 のpublic static無効メイン(文字列[] args)
JAVAがより具体的ですメインメソッドのシグネチャについては、メソッドをクラス内の一般的なメソッドとみなします。
これは他の回答と比べて何が異なっていますか? –
- 1. Android基本的な質問
- 2. 基本的な質問
- 3. BACKBONE.JS基本的な質問
- 4. 基本的な質問
- 5. Calendar.getInstance()...基本的な質問
- 6. Javaマルチスレッドの基本的な質問
- 7. GA基本 - 基本的な質問のための
- 8. 基本的なキャスティングの質問(C#)
- 9. テキストリンクの質問の基本的なCSS?
- 10. CouchDB-基本的なグループ化の質問
- 11. 基本的なSQLモデリングの質問
- 12. 基本的なWPFレイアウトの質問
- 13. 基本的なパラメータの質問
- 14. (.net)設定の基本的な質問
- 15. Amazon S3の基本的な質問
- 16. 基本的なmod_perlの質問
- 17. 関数ポインタの基本的な質問
- 18. ラケット構文の基本的な質問
- 19. 基本的なphpmailerの質問
- 20. 春のアノテーション基本的な質問
- 21. 基本的なスカラズ州の質問
- 22. Androidの基本的な質問
- 23. DataGridViewの基本的な質問
- 24. 基本的なウェブデザインの質問
- 25. PHP if節基本的な質問
- 26. Prologの基本的な質問
- 27. 基本的なCプログラミングの質問
- 28. 基本的な "マウント"の質問
- 29. 基本的なPHPの質問
- 30. javascript - 基本的なonclickイベントの質問
Int配列では、整数の配列を意味していました。 – pradeep
@rajivpradeep、私はそれがあなたが意味するものだと思ったが、そうではありません。これはString []でなければなりません。あなたがそれについて考えるときそれは理にかなっています。パラメータ配列はシェルによって提供され、文字列をintに変換する方法はわかりません。それが理解できるのはストリングだけです。 int配列が必要な場合は、Integer.parseInt()を使用してStringからIntegerに変換する必要があります –
urの答えにchrisしてください。ありがとう – pradeep