![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
![](http://oshiete.xgoo.jp/images/v2/common/profile/M/noimageicon_setting_10.png?5a7ff87)
前回の質問から、ソートまで進みました。
足し算のプログラムの結果(2つしかありませんけど)、昇順にしたいと思います。
どの位置にプログラムを追加すれば良いんでしょうか?
なかなか思うように動かないので、よろしくお願いします。
package sample;
/*
additionクラス
キーボード2つの数字を入力後、その足し算結果を返す
*/
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
class addition
{
//mainメソッドが初めに呼ばれる
public static void main(String args[]) throws IOException
{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.out.print("aを入力してください:");
String str1 = br.readLine();
System.out.print("bを入力してください:");
String str2 = br.readLine();
System.out.print("cを入力してください:");
String str3 = br.readLine();
int a = Integer.parseInt(str1);
int b = Integer.parseInt(str2);
int c = Integer.parseInt(str3);
System.out.println("aは"+ a + "です"); //変数aの中身を表示
System.out.println("bは"+ b + "です"); //変数bの中身を表示
System.out.println("cは"+ c + "です"); //変数cの中身を表示
int d; //結果を入れる変数
int e; //結果を入れる変数
d = a+b; //演算して代入
e = a+c; //演算して代入
System.out.println(a + "+" + b +"=" + d +"です" );
System.out.println(a + "+" + b +"=" + e +"です" );
}
}
No.9ベストアンサー
- 回答日時:
文字数オーバーしますので これで理解してください。
/**
* This method initializes jTextField3
*
* @return javax.swing.JTextField
*/
private JTextField getJTextField3() {
if (jTextField3 == null) {
jTextField3 = new JTextField();
jTextField3.setBounds(new Rectangle(122, 175, 184, 27));
jTextField3.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyReleased(java.awt.event.KeyEvent e) {
System.out.println("jTextField3");
String str = jTextField1.getText();
int a = Integer.parseInt(str);
str = jTextField2.getText();
int b = Integer.parseInt(str);
int c=a+b;
str=Integer.toString(c);
jTextField3.setText(str);
jTextField1.requestFocus();
}
});
}
return jTextField3;
}
No.8
- 回答日時:
>GUIコンポーネント.setText(new String(new char[10]).replace("\0", "W"));
>「GUIコンポーネント.getPreferredSize().width、etPreferredSize().height」をGUIコンポーネント.setSizeで設定する。
>最後にGUIコンポーネント.setText("")でクリアーしてやる。
この手法を使ってプログラミングしました。
Java GUIデモ(加算、ソート) 2
http://ashtarte.pa.land.to/utf8/smt.cgi?r+sara/& …
No.7
- 回答日時:
>No.6 回答者: amanojaku6
>プロポーショナルフォントの最大幅の「"W"」(大文字)が「10」個表示可能な事が保障される
申し訳ございません、完全な保障ではありません、GUIコンポーネントによっては その文字数を超えると省略文字「...」(半角3文字分?)みたいな文字が入るので。
No.6
- 回答日時:
>No.5 回答者: amanojaku6
>「GUIコンポーネント.getPreferredSize().width、etPreferredSize().height」をGUIコンポーネント.setSizeで設定する。
>これでプロポーショナルフォントの最大幅の「"W"」(大文字)が「10」個入る事が保障される。
「入る」と言う表現は不適切でした、プロポーショナルフォントの最大幅の「"W"」(大文字)が「10」個表示可能な事が保障される、です。
No.5
- 回答日時:
>No.4 回答者: amanojaku6
>「GUIコンポーネント.getPreferredSize().width、etPreferredSize().height」をGUIコンポーネント.setSizeで設定する。
「GUIコンポーネント.getPreferredSize().width、GUIコンポーネント.getPreferredSize().height」をGUIコンポーネント.setSizeで設定する。
位置も同時に設定可能ならGUIコンポーネント.setBoundsで良い。
No.4
- 回答日時:
>No.3 回答者: amanojaku6
申し訳ございません、もっと簡単な方法がありました。
GUIコンポーネント.setText(new String(new char[10]).replace("\0", "W"));
「10」は文字数、「"W"」(大文字)はプロポーショナルフォントの中で一番 幅が広い。
「GUIコンポーネント.getPreferredSize().width、etPreferredSize().height」をGUIコンポーネント.setSizeで設定する。
これでプロポーショナルフォントの最大幅の「"W"」(大文字)が「10」個入る事が保障される。
最後にGUIコンポーネント.setText("")でクリアーしてやる。
※GUIコンポーネントが表示されてなくても使えます。
No.3
- 回答日時:
>No.2 回答者: amanojaku6
厳密に(というか本来は そうすべきなんですが)GUIコンポーネントの縦サイズを決定したい場合は
GUIコンポーネント.getGraphics()でGraphicsオブジェクト(インスタンス)を取得。
Graphicsオブジェクト(インスタンス).getFontMetrics()でFontMetricsオブジェクト(インスタンス)を取得。
FontMetricsオブジェクト(インスタンス).getHeight()でテキストの行の高さを取得。
GUIコンポーネントの縦サイズにはgetHeight()より少し大きめに設定してやる。
GUIコンポーネントの横サイズはgetHeight()を何倍かにしておけば良い。
(注).ただし、「GUIコンポーネント.getGraphics()」は実際にGUIコンポーネントが表示されてからでないとNullPointerExceptionが発生してしまう。
No.1
- 回答日時:
//----ソートはデータの並べ替えなので 1個の変数ではできないので新たに配列を追加して表示してみました。
import javax.swing.JFrame;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays; //追加
public class grtest extends JFrame {
public static void main(String args[]) throws IOException
{
int[] dat01 = new int[5]; //空箱5個用意
int[] dat02 = new int[5]; //空箱5個用意
int i,loop; //ループ用の変数その他
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
for(loop=0; loop<5; ++loop)
{
System.out.print("aを入力してください:");
String str1 = br.readLine();
System.out.print("bを入力してください:");
String str2 = br.readLine();
System.out.print("cを入力してください:");
String str3 = br.readLine();
int a = Integer.parseInt(str1);
int b = Integer.parseInt(str2);
int c = Integer.parseInt(str3);
System.out.println("aは"+ a + "です"); //変数aの中身を表示
System.out.println("bは"+ b + "です"); //変数bの中身を表示
System.out.println("cは"+ c + "です"); //変数cの中身を表示
int d; //結果を入れる変数
int e; //結果を入れる変数
d = a+b; //演算して代入
e = a+c; //演算して代入
dat01[loop]=d;
dat02[loop]=e;
System.out.println(loop+"回目 "+a + "+" + b +"=" + d +"です" );
System.out.println(loop+"回目 "+a + "+" + b +"=" + e +"です" );
System.out.println("\n\n\n");
}
System.out.println("\n\n\n");
//-----ソートなし表示 取り合えず dat01だけ表示あとでついかしてください。
System.out.println("ソートなし表示");
for(loop=0; loop<5; ++loop)
{
System.out.println(dat01[loop] );
}
Arrays.sort(dat01); //---ソート関数の呼び出し
System.out.println("ソートあり表示");
for(loop=0; loop<5; ++loop)
{
System.out.println(dat01[loop] );
}
}
}
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Java java 入力 3 4 3 出力 ABC DEFG HIJ このようなプログラムの書き方を教えてくだ 2 2022/07/15 14:18
- Ruby 【JAVA】数字をひし形に出力するプログラムについて 2 2022/07/11 23:32
- C言語・C++・C# C# DatagridviewにExcelシートを反映するとエラーが出る 2 2023/05/06 17:12
- Java javaでのプログラム(配列)について質問です. 2 2022/10/14 22:27
- Ruby vscode 文字化け 1 2022/05/21 19:17
- Java Java プログラム public class Main { public static void 3 2023/08/10 23:46
- Java java 飾子を付けること(public static・・・) ・コンソールへの出力処理はmainメ 2 2022/06/16 19:34
- Java Java 配列<選挙> 4 2023/07/31 15:07
- Java javaの質問です 次の機能を有するメソッド4つを自クラスに作成し、実装したいです 【機能】 足し算 1 2022/06/15 17:49
- C言語・C++・C# このプログラミングの問題を教えて欲しいです。 キーボードから整数kを入力し、kが配列aの中に何個存在 2 2022/12/19 22:50
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
C言語のポインターに関する警告
-
JSPやサーブレットでSystem.out...
-
[JAVA]try 内の変数を外で!?
-
配列を後ろから数えるには?
-
0~9まで入力させ、前に入力さ...
-
JAVAで素数判定
-
JAVAのDouble型の小数点以下の...
-
会員情報登録プログラムの作成...
-
Javaのプログラムがどうしても...
-
EclipseでJava
-
DOMで要素の値がNULL
-
掛け算九九の表示の仕方。
-
「続行するには何かキーを押し...
-
(急募)Java 三択クイズをGUI(...
-
ポートスキャンツールについて
-
文字列の引き算
-
(急募)JavaじゃんけんでGUI...
-
標準入力をするメソッドを作り...
-
javaの超初心者です。ご教授い...
-
フィボナッチ数列
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
C言語のポインターに関する警告
-
JSPやサーブレットでSystem.out...
-
[JAVA]try 内の変数を外で!?
-
JAVAのDouble型の小数点以下の...
-
EclipseでJava
-
JAVA 文字色変更
-
改行の判定方法
-
ファイル名に変数を使う(Java)
-
曜日の取得方法を教えて下さい!
-
java シンボルが見つかりません...
-
JAVAのエラーの意味が分かりま...
-
Javaでカレントディレクトリを...
-
エクセルマクロ文で、赤文字セ...
-
LC発振回路-ループ利得
-
Javaのコマンドライン引数を使...
-
nullcline
-
「続行するには何かキーを押し...
-
会員情報登録プログラムの作成...
-
文字列の引き算
-
Javaのプログラムがどうしても...
おすすめ情報