2016-04-22 3 views
-1

1から50までの整数を入力するようにユーザーに依頼します。この数の星のライン。ユーザーに1から50までの整数を入力する方法と、アプレットがこの数の星の行を印刷する方法

import java.applet.Applet; 
import java.awt.*; 
import java.awt.event.*; 

public class ForDemo extends Applet implements ActionListener{ 

    TextField num; 
    int num1; 
    Label prompt; 

    public void init(){ 
     prompt = new Label("Enter a number that is less than 50"); 
     num = new TextField(10); 
     add(prompt); 
     add(num); 
     num.addActionListener(this); 
    } 

    public void actionPerformed(ActionEvent e){ 
     num1 = Integer.parseInt(num.getText()); 
     repaint(); 
    } 

    public void paint (Graphics g) { 
    //For values of an int I from 1, 2, .., 12 the loop evaluates 6*i. 
    //Note that the for loop variable can be defined in the loop. 
    //Note also that the loop variable is used to position the printout. 

    for (num1 = 1; num1 <=250; num1 ++) 
     g.drawString("6 times " + num1 + " = " + 6*num1, 25, 25+20*num1); 

    } 
} 
+1

質問は? – Bathsheba

+0

質問は何ですか? – DoctorMick

+0

テキストフィールドに数値を入力したときに何も表示されない –

答えて

0

入力が不十分です。あなたは行動を取る必要があり、あなたはそれを押すか、またはいくつかのボタンを追加することによってそれを行います。または、ある間隔でinpupを読み込むスレッドを作成します。

+0

私はボタンを追加する必要があるので、ボタンを押すと、それは星の行を印刷します。 –

+0

また、これを修正する必要があります。 for(num1 = 1; num1 = 250; num1 ++) g.drawString( "6回" + num1 + "=" + 6 * num1,25,25 +20 * num1); ' あなたが何を出すかにかかわらず、常に1から250になるので、常に同じ出力になります。したがって、ここで何かを増やすための別の変数が必要です。それは動作しますが、あなたのコードは毎回同じことを出力します。 –

+0

変更方法を尋ねることはできますか? –

関連する問題