• ベストアンサー

Integer.parseInt()について public static void main(String[] args) { int a =

初歩的な質問だと思うのですが、、、 public class TestTree { public static void main(String[] args) { int a = Integer.parseInt(args[0]); int b = Integer.parseInt(args[1]); GreatTree myTree = new GreatTree(a, b); myTree.makeTree(); myTree.makeGround(); } } というプログラムについて、Integer.parseInt()はどういう意味を持つのかがわかりません。ただ適当につけた名前だとは思えないです。教えてもらえたら幸いです。お願いします。

  • Java
  • 回答数3
  • ありがとう数14

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

  • ベストアンサー
  • ssm3u
  • ベストアンサー率52% (19/36)
回答No.3

> argsで入力されたものは例え数字でも文字列として扱われているから、それをintにしている。ということですよね? 引数として (String[] args) と設定されていますので、 おっしゃるとおり 引数 args[]配列に入っているものは、文字列です。 ポイントは、 「String[]」でしょうか。。

kanamu22
質問者

お礼

ありがとうございました!これで確信が持てました。

その他の回答 (2)

  • ttyp03
  • ベストアンサー率28% (277/960)
回答No.2

マニュアルを見てもらえば一発だとは思いますが…。 http://java.sun.com/j2se/1.5.0/ja/docs/ja/api/java/lang/Integer.html#parseInt(java.lang.String,%20int) 簡単に説明すると、数字文字列(String型)を数値(int型)に変換します。

kanamu22
質問者

お礼

すいません。ちょっとマニュアルでもよく理解できなくて・・・。 ありがとうございました。理解できました。

noname#25358
noname#25358
回答No.1

 引数として入力された数字はあくまで「文字列」でしかなく、そのままでは int 型変数には代入できません。  なので、int 型に変換しているのです。  ……って説明で分かります?  もしお分かりにならなければ補足をお願いします。

kanamu22
質問者

補足

argsで入力されたものは例え数字でも文字列として扱われているから、それをintにしている。ということですよね?

関連するQ&A

  • public static void main(String args

    public static void main(String args[]) { と public static void main(String[] args) { は何が違います?

    • ベストアンサー
    • Java
  • public static void main (String args[])

    基本すぎて申し訳ありませんが、 public static void main (String args[])とはどういう意味を持っていますか? 教えてください。。

    • ベストアンサー
    • Java
  • intではなくStringで・・・

    こんなソースがあります。。 public class Check { public static void main(String[] args) { int i = Integer.parseInt(args[0]); if (i == 123) { System.out.println("あたり!"); } else if (i < 123) { System.out.println("はずれ!"); } else { System.out.println("おおはずれ!"); } } } これを、int型の文字を入力して判定させるのではなく、String型の文字で判定させたいのですが、 int i = Integer.parseInt(args[0]);をどう変えればいけるでしょうか? よろしくお願いします!

    • ベストアンサー
    • Java
  • mainクラス内に書いたメソッドの宣言の仕方(staticの必要性)

    java を勉強中の超初心者です、宜しくお願いします。 main と同じクラスに disp というメソッドを作成してやり、” void disp(int a , int b )”と書いてやりましたが、mainからアクセス出来ません。 そこで、” static void disp(int a , int b )” という風に” static ” を先頭につけてやりましたら、うまく動きました。 これは、mainメソッドから他のメソッドにアクセスする場合には、必ず” static ” をつけてやる必要があるということでしょうか。 ======================================================= class クラス練習 { public static void main(String[] args) { disp(5,10); } /*static*/ void disp(int a , int b ) { System.out.println("a+b = " + (a+b)); } }

    • ベストアンサー
    • Java
  • Javaのプログラムについて教えて下さい

    //Sample.java class Sample void methodA(int temp) if(temp == 0) String str = new String("Exception"); Integer.parseInt(str); else if(temp == 1) int[] array = new int[temp]; else Exception exc = new Exception(); throw exc; //SampleMain.java class ExceptionMain public static void main(string[] args) Sample sam = new Sample(); Int temp = Integer.parseInt(args[0]); Sam.method(temp); } } このプログラムの場合、ExceptionMainに新たにコードを加えて、コマンドライン引数が0,1,その他の場合に例外メッセージを出力するプログラムを教えて下さい。

    • ベストアンサー
    • Java
  • int main()、void main()、void main(void)、int main(void)

    今日、大学でC言語の講義の時間、先生が、 #include <stdio.h> void main(void){ } と宣言してプログラムを書くと教えていました。 main関数には、 main() void main() void main( void ) int main() int main( void ) と、人によりいくつかの描き方があったりします。 どれが本当は正しいのでしょうか? void mainはすべきではないとなんかの本で読んだのですが・・。

  • voidとかstaticとか

    javaでpublic static void main(String[ ] args) {とかあるんですが よく意味が分かりません 解説のHPを見てもフォーマットなど専門用語を使って説明してるので意味が分かりません System.out.print("hello");は ("")なかが出力するのはわかるんですが 何故 System.outなのか気になります public static void main(String[ ] args) {もよくわかりません 詳しく 凄くわかりやすく説明してくれる人いたら教えて下さい モヤモヤ度MAXです

  • mainメソッドと同じオブジェクト内のメソッドにはstaticを必ずつ

    mainメソッドと同じオブジェクト内のメソッドにはstaticを必ずつけなければならないのでしょうか? そのような記述を見掛けたのですが、もしこれが正しいという場合、 それは、なぜなのでしょう? java初心者ですが、どうぞ宜しくお願いいたします。 class MainClass{  //先頭のstaticに注目  static void sub(){   ~~  }  //mainメソッド  public static void main(String[] args){   sub();  } }

    • ベストアンサー
    • Java
  • 実行の順番を教えてください。

    現在JAVAの学習をおこなっていて、参考書で勉強しています。 しかし、以下の3つのソースコードはどの順番で実行されているか理解できておりません。 すみませんが、実行の順番を教えて頂けないでしょうか。 実行の順に数字を振ったりしていただけますと特に嬉しいです。 お願いします。 ※サンプル1 class testA{ testB b; testA(){ b=new testB(this); } } class testB{ testA a; testB(testA a){ this.a=a; } } class testAll{ public static void main(String args[]){ new testAll().banana(); //ソースコード } void banana(){ testA test = new testA(); } } ※サンプル2 public class A{ public static void apple(Integer i){ int ta =i.intValue(); ta+=3 ; i=new Integer(ta); } public static void main(String args[]){ Integer i = new Integer (0); apple(i); System.out.println(i.intValue()); } } ※サンプル3 public class Test{ public static void main (String args[]){ class orange{ public int i =9; } Object o=(Object)new orange(); orange orange = (orange)o; System.out.println("i="+orange.i); } }

    • ベストアンサー
    • Java
  • 値の渡し方

    こんにちわ。 Javaの勉強をしています。 キーボードから入力して、読み込むクラスで読み込んだ値を処理クラスに渡して演算させたくプログラムを作っています。 下にあるのがそうなのですが、値の渡し方がよくわかりません。 よろしければ、アドバイスをください。 //値の入力クラス import java.io.*; public class Main{ public static void main(String args[])throws IOException{ BufferedReader input = new BufferedReader(new InputStreamReader(System.in)); int a = Integer.parseInt(input.readLine()); int b = Integer.parseInt(input.readLine()); } } ---------------------------------------------------------------- //処理クラス public class Enzan{ public static int Wa(int x, int y){ int wa = x + y; return wa; }      public static int Wa(int x, int y){ int sa = x - y; return sa; } }

    • ベストアンサー
    • Java

専門家に質問してみよう