dポイントプレゼントキャンペーン実施中!

いろんなサイトがあるんですけど、文字ばかり見ていても余計に混乱してくるので、簡単なプログラムを作りながら覚えようとしています。

1)GUIを作成。キーボードからA・Bに整数を入力
2)足し算でCに格納。格納場所は5ヶ所。
3)引き算でDに格納。格納場所は5ヶ所。
4)2)の数字の大きいものから順で出力。
5)3)の数字の小さいものから順で出力。

きっとすごく簡単な内容だとは思うのですが、何から手を付けたら良いのかさっぱり分かりません。
とりあえず動かせる環境だけは作りました。
「Hello World」も終わって、GUIのボタン1つのプログラムもコピペですが、こういうものか・・・ぐらいにしか理解出来ていません。
いろんなサイトでふむふむと納得しながら進んではいるんですけど、自分で何か作って見ろと言われても・・・何をすれば良いの?みたいな感じです。
電卓を作るサイトはいくつかあったのですが、難しすぎます。

上記のような簡単だろう内容で覚えて行こうと思うのですが・・・
参考になるようなプログラムを、もしお暇な方がいれば作ってみてもらえないでしょうか?
メモ書き程度で、すぐに作れるような内容じゃないかと思ってるんですけど。
プログラムを理解するためだけで、デザインとか細かいことも必要ないので、よろしくお願いします。
お手上げ状態です。

質問者からの補足コメント

  • へこむわー

    pm16:17
    下記は住所を表示するだけのものみたいですが、数字に置き換えて計算結果を表示するには、どの場所に計算式を入れたら良いのでしょうか?
    一部だけ載せる形でも分かる人には分かるものなのかな?
    文字数がオーバーするので・・・

    JPanel p = new JPanel();

    text1 = new JTextField("住所1", 20);
    text2 = new JTextField("住所2", 20);
    JButton button = new JButton("取得");
    button.addActionListener(this);
    label = new JLabel();

    p.add(text1);
    p.add(text2);
    p.add(button);

      補足日時:2018/10/27 16:21

A 回答 (5件)

上のコードを利用してつくってみました 


javaのGUI?は部品の配置がややこしいので始めは Visual C#とか Basicで練習した方が解りやすいと思います。
javaは スマートフォンandroid端末の製作言語はこんな感じだよ。

メモ帳とコマンドプロンプトを想定で作りました。


import javax.swing.JFrame;


import javax.swing.JPanel;
import javax.swing.JLabel;
import javax.swing.JTextField;
import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.BorderLayout;

import java.awt.Dimension;
import java.awt.Color;

import javax.swing.JButton;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;


public class grtest extends JFrame {

public static void main(String args[]){
grtest frame = new grtest("タイトル");
frame.setVisible(true);
}

grtest(String title){




setTitle(title);
setBounds(100, 100, 700, 350);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);



setLayout(new FlowLayout());
JLabel label = new JLabel();




JPanel p = new JPanel(); //--------パネルみたい 
p.setPreferredSize(new Dimension(500, 300));
p.setBackground(Color.ORANGE);

JTextField text1 = new JTextField("", 10);
JTextField text2 = new JTextField("", 10);

JButton button = new JButton("取得");

button.addActionListener(
new ActionListener(){
public void actionPerformed(ActionEvent event){

int a,b,c;

String tx1=text1.getText(); //----JTextFieldをSteing形式に変換
String tx2=text2.getText(); //----JTextFieldをSteing形式に変換

String tx3;

a=Integer.parseInt(tx1);//--文字列を数字に変換
b=Integer.parseInt(tx2);//--文字列を数字に変換

c=a+b;
tx3=String.valueOf(c);

label.setText(tx1+" + "+tx2+" = "+tx3+"です。");

}
}
);



label.setText("たしざん");


p.add(text1);
p.add(text2);
p.add(label);
p.add(labe2);

p.add(button);

Container contentPane = getContentPane();
contentPane.add(p);
}
}
    • good
    • 0
この回答へのお礼

修正箇所はあったのも幸いして、足し算の結果を表示するところまでは理解できました。
ありがとうございます。

次の課題である昇順・降順に入ります。

お礼日時:2018/10/27 20:26

>No.3 回答者: amanojaku6



>「Hello World」も終わって、GUIのボタン1つのプログラムもコピペですが

(GUIの勉強には)そのプログラムを元に、別のボタンを作って、別のテキストを表示させてみると良いでしょう。
    • good
    • 0
この回答へのお礼

GUIなしの足し算プログラムは動かすことが出来ました。

package sample;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

class addition
{
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();

int a = Integer.parseInt(str1);
int b = Integer.parseInt(str2);

System.out.println("aは"+ a + "です");
System.out.println("bは"+ b + "です");

int c;
c = a+b;

System.out.println(a + "+" + b +"=" + c +"です" );
}
}

これをGUIでするには??

入力する箱が2つと結果を出す場所が1つ・・・・
誰かデザインは無視して良いので、簡単なものを作ってみてもらえませんか?
ここからは時間がかかりそうで、基本を教えてもらえれば割と早く複雑なものも作れそうです。

ちなみにこれは計算が1つですけど、2つになると難しそうですね・・・
a+b=d a+c=e a+d=f
こうなると同じようなものを3つじゃなく、ループとかいうもので工夫するのかな?

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

お礼日時:2018/10/27 18:47

>「Hello World」も終わって、GUIのボタン1つのプログラムもコピペですが、こういうものか・・・ぐらいにしか理解出来ていません。



初心者なら、まずGUIの勉強から始めた方が良いと思います。
基本的にJavaではGUIが必須なので「ボタン、テキストフィールド」など、簡単なGUIを自分で作れるぐらいにならないとプログラムの作成を始められません。
    • good
    • 0
この回答へのお礼

No.2の方とは正反対ですね・・・
どちらが良いのか分からないけど、GUIから始める方が楽しめますね。

お礼日時:2018/10/27 16:14

実はGUIって凄く難しいです。


hello world的な簡単そうに見えるものでも、いろんな準備が必要です。
「電卓を作るサイト」の難しさも、80%くらいは「GUIのためのいろんな手続き」であって、肝の「計算」は大したことありません。

どんな「計算」をするか、と、それをどうやって外部とやりとりするか(画面表示、ファイル出力等)、とは、分けて考えましょう。
そして、両方ともにわからない、という状態なら、まずは、前者の「計算」についての勉強をしましょう。
入出力は「キーボード」「文字端末(コマンドプロンプト等」「テキストファイル」にして。
    • good
    • 0
この回答へのお礼

ありがとうございます

お礼日時:2018/10/27 16:13

多くの方がいわれていますが、初心者は、ネットのサイトで勉強するよりも、演習問題があるようなJava入門書で勉強するほうがいいですよ。


「Javaとは?」という説明からはじまって、簡単なプログラムも掲載されています。
    • good
    • 1
この回答へのお礼

ありがとうございます

お礼日時:2018/10/27 16:12

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!