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を体育に
代入したいのですが、どういうふうにすといいでしょうか?教えてください。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:
  • 終了:--
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答5件)

id:Kumappus No.1

回答回数3784ベストアンサー獲得回数185

ポイント10pt

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

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

id:ubogo

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

2005/03/06 18:10:32
id:RC30-popo No.2

回答回数345ベストアンサー獲得回数13

ポイント10pt

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インストールするの面倒なので試してはいません。

id:xiang2 No.3

回答回数79ベストアンサー獲得回数0

ポイント20pt

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();

}

}

id:oh_tsu No.4

回答回数48ベストアンサー獲得回数0

ポイント20pt

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();

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

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

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

id:hug-moon No.5

回答回数49ベストアンサー獲得回数0

ポイント20pt

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メソッドで行えます。

id:ubogo

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

2005/03/09 14:52:25

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません