GUIで行こう
プログラミングの(典型的な)課題は、総じて面白くありません。
「2つの数を入力して、和を求めよ」なんていう類です。
毎度、管理人イガジーです。
C言語などでは、scanf を使って、標準入力(コンソール)から入力したり
するわけですが、動かしてみても味気ないです。
Javaで、Cの scanf と同じように標準入力(コンソール)から入力するには
System.in を InputStreamReader で受けて、
それをさらに BufferedReader で受けて、readLine() で取り込みます。
具体例は次のような感じになります。
InputStreamReader isr = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader(isr);
String s1=null,s2=null;
System.out.println("Input 2 numbers.");
try {
s1 = br.readLine();
s2 = br.readLine();
} catch (IOException e) {
e.printStackTrace();
}
int a=tx2num(s1);
int b=tx2num(s2);
int c=a+b;
System.out.println(c);
でも、せっかく Java で作るのでしたら
GUI(グラフィックユーザインタフェース)で行きましょう。
Javaなら簡単に窓を開いて、マウス操作を受けることができます。
例を書いておきますので、コピペして、適宜書き換えてご利用ください。
import java.awt.Button;
import java.awt.FlowLayout;
import java.awt.Frame;
import java.awt.TextField;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
public class Sample implements ActionListener {
Frame f=new Frame("GUI");
TextField tf1=new TextField(6);
TextField tf2=new TextField(6);
TextField tf3=new TextField(6);
Button exec=new Button("Exec");
Sample(){
f.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent ev) {
System.exit(0);
}
});
// f.setLayout(new GridLayout(4,1));
f.setLayout(new FlowLayout());
exec.addActionListener(this);
f.add(tf1);
f.add(tf2);
f.add(exec);
f.add(tf3);
f.setSize(80,180);
f.setVisible(true);
}
public void actionPerformed(ActionEvent e) {
int a=tx2num(tf1.getText());
int b=tx2num(tf2.getText());
int c=a+b;
tf3.setText(Integer.toString(c));
}
int tx2num(String s){
int r=0;
try {
r=Integer.parseInt(s);
}catch(Exception e){
r=0;
}
return r;
}
public static void main(String[] args) {
new Sample();
}
}
あじけない課題も、GUIにすれば楽しくできる!
んじゃないでしょうか?(楽しくできるといいですね)
この記事へのコメントはこちら