import java.awt.*;
import java.awt.event.*;
import java.applet.*;
import javax.swing.JOptionPane;
public class waterfairyflower extends Applet implements AdjustmentListener
{
String 1,2;
TextField inputup,inputbottom,scrollValue;
Scrollbar mySlider;
String tempt;
int j;
public void init()
{
setLayout(new BorderLayout());
1=JOptionPane.showInputDialog("Enter Up_limited:");
2=JOptionPane.showInputDialog("Enter Bottom_limited:");
scrollValue=new TextField(100);
mySlider=new Scrollbar(Scrollbar.HORIZONTAL,0,1,0,Integer.MAX_VALUE);
mySlider.setUnitIncrement(1);
mySlider.setBlockIncrement(50);
add("South",mySlider);
mySlider.addAdjustmentListener(this);
add("Center",scrollValue);
}
public void adjustmentValueChanged(AdjustmentEvent e)
{
int value;
if(e.getAdjustable()==mySlider)
{
value=e.getValue();
scrollValue.setBackground(new Color(value));
            }
int number1=Integer.parseInt(1);
int number2=Integer.parseInt(2);
int sum=0,number;
j=1;
for(;number1<=number2;number1++)
{
      tempt=Integer.toString(number1);
  for(int i=0;i<tempt.length();i++)
     {
      number=tempt.charAt(i)-'0';
      sum+=Math.pow(number,3);
      }
      if(sum==number1)
      {
     repaint();
     break;
  }
    }
}
       public void paint(Graphics g)
{
g.drawString("Find the "+j+" waterfairyflower is:"+tempt,10+10*j,10);            j=j+1; }
}
程序的功能:
输入:数的上限和下限
输出:它们之间的所有水仙花数
编译通过可是输入以后就是显示不了结果,
请高手帮忙~

解决方案 »

  1.   

    1。mySlider干吗的
    2。那些textfield干吗的
    3。水仙花数的算法在哪里
    4。drawString到哪里了楼主搞清楚这些问题再说,你的程序很乱,有些东西你根本没搞清楚
      

  2.   

    程序的确很乱,看不到结果的最直接原因为,你的
    TextField scrollValue把g.drawString结覆盖了
    改add("North",scrollValue);
    和:
         g.drawString("Find the "+j+" waterfairyflower is:"+tempt,10+10*j,50);
    至少你能看到输出
      

  3.   

    int sum=0;应该放在后面的for( ; number1<=number2; number1++ )循环的开始