人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

java で質問です。
class kamoku{
private int sannsuu;//フィールド
private int taiku;
}
void set(int s,int t){
}//メソッド

public static void main(String args[]){
}//メソッド

args[]に2個数字を入力してvoid set(int s,int t)のメソッドで、sを算数にtを体育に
代入したいのですが、どういうふうにすといいでしょうか?教えてください。

●質問者: ubogo
●カテゴリ:コンピュータ 学習・教育
✍キーワード:Class Java SET String void
○ 状態 :終了
└ 回答数 : 5/5件

▽最新の回答へ

1 ● くまっぷす
●10ポイント

http://www.wakhok.ac.jp/JavaAppli/node3.html

コマンド引数の処理

なんか質問のプログラム{}の位置が変な気がしますが…。

class kamoku{

private int sannsuu;//フィールド

private int taiku;

void set(int s,int t){

sansuu = s;

taiku = t;

}//メソッド

public static void main(String args[]){

int s = int.Parse(args[0]);

int t = int.Parse(args[0]);

set(s, t);

}//メソッド

}

かな。Javaのブランク長いんで確認してみてください。

http://www.atmarkit.co.jp/fdotnet/dotnettips/001atoi/atoi.html

文字列を数値に変換するには?[C#、VB] - @IT

◎質問者からの返答

ありがとうございました。


2 ● POPO
●10ポイント

http://java.sun.com/j2se/1.4.2/docs/api/

Java 2 Platform SE v1.4.2

最近Javaでプログラム書いてないので、間違ってたら申し訳です。

void set(int s,int t){

sannsuu = s;

taiku = t;

}

これはOKですよね?

public static void main(String args[]){

set(Integer.parseInt(args[0]),Integer.parseInt(args[1]));

}

JDKインストールするの面倒なので試してはいません。


3 ● xiang2
●20ポイント

http://www.hatena.ne.jp/1110098813#

人力検索はてな - java で質問です。 class kamoku{ private int sannsuu;//フィールド private int taiku; } void set(int s,int t){ }//メソッド public static void main(String args[])..

少し変更しましたが、以下をMain.javaで保存し、コンパイルすると出来ます。確認済みです。

例)

C:¥WORK>javac Main.java

C:¥WORK>java Main 2 3

sannsuu: 2

taiku: 3

----------

class kamoku {

private int sannsuu;//フィールド

private int taiku;

public void set(int s,int t){

sannsuu=s;

taiku=t;

}//メソッド

public void display(){

System.out.println(”sannsuu: ”+sannsuu);

System.out.println(”taiku: ”+taiku);

}

}

class Main{

public static void main(String args[]){

String sannsuu = args[0];

String taiku = args[1];

int s = Integer.parseInt(args[0]);

int t = Integer.parseInt(args[1]);

kamoku k = new kamoku();

k.set(s,t);

k.display();

}

}


4 ● oh_tsu
●20ポイント

http://java.sun.com/j2se/1.3/ja/docs/ja/api/java/lang/Intege...

Java 2 Platform SE 1.3: $B%/%i%9(B Integer

まず、回答者1のようにJavaの書き方が間違ってましたね。

そこはいいとして、

java kamoku 1 2

と言う風に実行するということですよね?

ですが、argsは文字列なので数値(int)に変換しなければ行けないことは分かると思います。

そこで用いるのが

Integer.parseInt(String)

です。

で、これを用いて mainメソッドを

public static void main(String args[])

{

try {

int arg1 = Integer.parseInt(args[0]);

int arg2 = Integer.parseInt(args[1]);

set(arg1, arg2);

} catch (Exception e) {

e.printStackTrace();

}

}

とすればいいでしょう。

ここで

e.printStackTrace();

は、文字列が数値に変換できなかった場合の

エラー内容を出力されるためのものです。

追伸、勉強しているうちはいろいろ分からないことも出るかと思いますが、自分で調べられるようにしましょうね。


5 ● hug-moon
●20ポイント

http://java.sun.com/j2se/1.4/ja/docs/ja/api/java/lang/Intege...

Integer (Java 2 $B%W%i%C%H%U%)!<%`(J SE v1.4.0)

URLはIntegerクラスの概要です。

setの方は他の方が書かれているままなので省略しますが、mainは

public static void main(String args[]){

int i = 0;

int s = Integer.parseInt(args[i++]);

int t = Integer.parseInt(args[i++]);

set(s, t);

}

と、した方が配列の要素の増減にも強くデバッグも容易になりお勧めです。

おそらく、質問としての肝はStringのintへの変換だったのだと思うのですが、

IntegerクラスのparseIntメソッドで行えます。

◎質問者からの返答

ありがとうございました。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ