前提・実現したいこと
私はプログラミング初心者で今は数当てのプログラミングを組んでいるのですが
今は5回以内に数字を当てるプログラミングを組んだのですがそのプログラミングに数字をあてるまでの試行回数に応じて1回ならaと表示 2回ならbと表示 3回ならcと表示されるような回数によって表示が変わるプログラムを追加したいのですがソースがわからないのでどなたか教えていただければ幸いです。
該当のソースコード
java
1import java.awt.BorderLayout; 2import java.awt.EventQueue; 3 4import javax.swing.JFrame; 5import javax.swing.JPanel; 6import javax.swing.border.EmptyBorder; 7import javax.swing.JLabel; 8import javax.swing.JTextField; 9import javax.swing.JButton; 10import java.awt.event.ActionListener; 11import java.awt.event.ActionEvent; 12import java.util.Random; 13import javax.swing.SwingConstants; 14 15public class Pre09 extends JFrame implements ActionListener { 16 17 private JPanel contentPane; 18 private JTextField txf; 19 private JLabel lbl; 20 private JLabel hnt; 21 Random random = new Random(); 22 int ans = random.nextInt(100); 23 int count =0; 24 25 /** 26 * Launch the application. 27 */ 28 public static void main(String[] args) { 29 EventQueue.invokeLater(new Runnable() { 30 public void run() { 31 try { 32 Pre09 frame = new Pre09(); 33 frame.setVisible(true); 34 } catch (Exception e) { 35 e.printStackTrace(); 36 } 37 } 38 }); 39 } 40 41 /** 42 * Create the frame. 43 */ 44 public Pre09() { 45 setTitle("プレ案"); 46 setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 47 setBounds(100, 100, 450, 220); 48 contentPane = new JPanel(); 49 contentPane.setBorder(new EmptyBorder(5, 5, 5, 5)); 50 setContentPane(contentPane); 51 contentPane.setLayout(null); 52 53 lbl = new JLabel("0~100の数字を当ててね!"); 54 lbl.setBounds(20, 24, 224, 13); 55 contentPane.add(lbl); 56 57 txf = new JTextField(); 58 txf.setHorizontalAlignment(SwingConstants.RIGHT); 59 txf.addActionListener(this); 60 txf.setBounds(20, 62, 86, 19); 61 contentPane.add(txf); 62 txf.setColumns(10); 63 64 hnt = new JLabel("ヒント"); 65 hnt.setBounds(20, 99, 147, 13); 66 contentPane.add(hnt); 67 68 JLabel gif = new JLabel("gif"); 69 gif.setBounds(304, 65, 45, 13); 70 contentPane.add(gif); 71 } 72 public void actionPerformed(ActionEvent e) { 73 int a =Integer.parseInt(txf.getText()); 74 75 if(e.getSource()==txf) 76 if(ans == a) { 77 lbl.setText("正解!"); 78 }else if(ans<a) { 79 lbl.setText("大きすぎます。"); 80 }else { 81 lbl.setText("小さすぎます"); 82 } 83 count++; 84 if(count==6) { 85 lbl.setText("Game Over! 正解は"+ans+"でした!"); 86 } 87 } 88 }
試したこと
ここからどんな文をどこに書き足したらいいのか分からなくなってしまいました。
補足情報(FW/ツールのバージョンなど)
ソースコードはMarkDownのcode機能でブロック化してご提示ください。
```Java(言語名)
ソースコード
```
と言う形です
修正されたようですが、K_3578さんが書いたのをそのまま張り付けてはダメです。
ソースコード部分はあなたが質問に書いたJavaプログラムに置き換えて修正してね
という意味ですよ。
なんかぐちゃぐちゃになってますがプレビュー見ながら修正されてますか?
質問編集画面の右側にこちらから見えているのと同じものが見えています。
MarkDownのコードブロックは端的に言うと```で上下を囲むと出来ます。
因みに今は、バッククォートを
}```
しているので、
}
```
と言う形にすればコードブロックになるかと。
>kainaさん
ありがとうございます。
なんだか酷くなってますね。。。
ソースコードの最後の部分が以下のようになっているのでマークダウン形式になっていません。
}```
以下のように行を分けて下さい。
修正する際に下のほうにプレビュー表示されますので、そちらを確認した上で修正したほうが良いです。
}
```
K_3578さん
kainaさん
ご指摘ありがとうございます。質問初めてなためお手数おかけします。
課題であるならばまずご自身で考え、挑戦してみませんか。具体的にどの部分が分からないのでしょう。
1. 試行回数の数え方。試行回数とは?
2. 回数1~3回に応じて'a', 'b', 'c'と表示の仕方。4,5回ならどうするのですか?
どう、どこに表示するのかは質問者さん自身が考えないと。
3. あるいは何をどうしたらよいか全く分からない、とか。
[2021/05/31 15:52]の質問編集を読んで:
単に確認なのですが、そもそもご提示の、元のコードを理解されていますでしょうか。
もしここまでご自身で理解して書けているのであれば、そう難しいことではないと思えるのです。
理解されるまで、1から10まで手取り足取り教えるのも難しいと思います。
回答2件
あなたの回答
tips
プレビュー