Java初心者の高校生です、どこがおかしいのか教えてください
アメリカ留学中にJavaのクラスを取った初心者です。
今日、グラフィックを使ってハイサーグラフ(http://homepage2.nifty.com/fuurinkazan/haigraph.htm)を描く単純なプログラムを作っていました。
平均気温の値と降水量を入力してその値を元にグラフィックスで座標平面にハイサーグラフを描くはずが、ループを設定していないにもかかわらず、入力を何度しても、質問が再び最初に戻ってしまうのでその先に進めません。
もしよければ、僕の書いたプログラムを見て、どこがおかしいか教えてもらえないでしょうか?
BlueJを使って練習しています。文頭にスペースが置けないようなので見にくくなってしまいました。すみません。
IOとあるものは、学校でもらったプログラムで、質問をするとウィンドウが開き値を入力することができるというものです。
import java.awt.*;
import javax.swing.*;
public class ハイサーグラフ extends JApplet
{
int n1, n2, n3, n4;
int t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12;//temperature
int r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, r11, r12;//reinfall
public void paint(Graphics g)
{
grayLines(g);//薄い色の線を描きます。
blackLines(g);//濃い色の線を描きます。
draw(g);//上で描いたグラフ平面にハイサーグラフを描きます。
}
public void grayLines(Graphics g)
{
g.setColor(Color.lightGray);
for(n1=1;n1<=30;n1++)
{
g.drawLine(90+10*n1,50,90+10*n1,400);
}
for(n3=1;n3<=36;n3++)
{
g.drawLine(100,n3*10+40,400,n3*10+40);
}
}
public void blackLines(Graphics g)
{
g.setColor(Color.black);
for(n2=1;n2<=7;n2++)
{
g.drawLine(50+50*n2,50,50+50*n2,400);
}
for(n4=1;n4<=8;n4++)
{
g.drawLine(100,n4*50,400,n4*50);
}
}
public void draw(Graphics g)
{
t1=IO.askInt("1月の平均気温"); t1=t1*5+300;
t2=IO.askInt("2月の平均気温"); t2=t2*5+300;
t3=IO.askInt("3月の平均気温"); t3=t3*5+300;
t4=IO.askInt("4月の平均気温"); t4=t4*5+300;
t5=IO.askInt("5月の平均気温"); t5=t5*5+300;
t6=IO.askInt("6月の平均気温"); t6=t6*5+300;
t7=IO.askInt("7月の平均気温"); t7=t7*5+300;
t8=IO.askInt("8月の平均気温"); t8=t8*5+300;
t9=IO.askInt("9月の平均気温"); t9=t9*5+300;
t10=IO.askInt("10月の平均気温"); t10=t10*5+300;
t11=IO.askInt("11月の平均気温"); t11=t11*5+300;
t12=IO.askInt("12月の平均気温"); t12=t12*5+300;
r1=IO.askInt("1月の降水量"); r1=r1/2+100;
r2=IO.askInt("2月の降水量"); r2=r2/2+100;
r3=IO.askInt("3月の降水量"); r3=r3/2+100;
r4=IO.askInt("4月の降水量"); r4=r4/2+100;
r5=IO.askInt("5月の降水量"); r5=r5/2+100;
r6=IO.askInt("6月の降水量"); r6=r6/2+100;
r7=IO.askInt("7月の降水量"); r7=r7/2+100;
r8=IO.askInt("8月の降水量"); r8=r8/2+100;
r9=IO.askInt("9月の降水量"); r9=r9/2+100;
r10=IO.askInt("10月の降水量"); r10=r10/2+100;
r11=IO.askInt("11月の降水量"); r11=r11/2+100;
r12=IO.askInt("12月の降水量"); r12=r12/2+100;
/** 以下、グラフを描きます */
g.setColor(Color.red);
g.drawLine(r1,r1,t2,t2); g.drawLine(r2,r2,t3,t3);
g.drawLine(r3,r3,t4,t4); g.drawLine(r4,r4,t5,t5);
g.drawLine(r5,r5,t6,t6); g.drawLine(r6,r6,t7,t7);
g.drawLine(r7,r7,t8,t8); g.drawLine(r8,r8,t9,t9);
g.drawLine(r9,r9,t10,t10); g.drawLine(r10,r10,t11,t11);
g.drawLine(r11,r11,t12,t12); g.drawLine(r12,r12,t1,t1);
}
}// the end
長くなってしまいすみません。
もし何か付け足したほうがよい情報などがあれば、教えていただけるとうれしいです。
補足
え!!そんな原始的な方法しかないんだ…、