import java.applet.*;
import java.awt.*;
import java.lang.*;
public class sanzi extends Applet{
public void paint(Graphics g){
     int  r=0;
 int i;
 String[] col={"red","blue","yellow","orange","green","magenta","cyan"};
 for(i=0;i<7;i++,r+=20)
 {
 g.setColor(Color.black);
 g.drawArc(30, 40, 150, 150, r+20, 20);
 g.setColor(Color.getColor(col[i]));
 g.fillArc(30, 40, 149, 149, r+20, 20);
 }}
}大家帮忙看下 这个程序错出在什么地方了?
题目要求输出七彩扇面
谢谢啦~~

解决方案 »

  1.   

    把paint换成paintComponets试试看
    还有,为什么不直接用Color数组
    Color[] col = {Color.red,Color.blue,Color.yellow,Color.orange,Color.green,Color.magenta,Color.cyan};
      

  2.   

    g.drawArc(30, 40, 150, 150, r+20, 20); //感觉参数不对,角度应该是一样的,只是半径在变,估计要自己算,我现在没环境,不能试一下
      

  3.   

    public void paint(Graphics g){
         int  r=0;
     int i;
     Color col[]={Color.red,Color.black,Color.blue,Color.cyan,Color.green,Color.orange,Color.yellow};  for(i=0;i<7;i++,r+=20)
     {
     g.setColor(Color.black);
     g.drawArc(30, 40, 150, 150, r+20, 20);
     g.setColor((col[i]));
     g.fillArc(30, 40, 149, 149, r+20, 20);
     }}改成这样运行就能成功了 drawArc(int x,int y,int width,int height,int startAngle,int arcAngle);
      (x,y)是弧形的中心,width是弧形的宽,height是弧形的高,startAngle是弧形的起始角度,arcAngle是弧形的弧度   但是为什么不能用String数组呢?
       书上是这样写的String[] col={red,blue,yellow,orange,green,magenta,cyan};
                   g.setColor(Color.(col[i]));
      但是运行出错 不知道为什么?
      

  4.   

    Color.(col[i])这里有错误。
    Color.后面应该是Color类里静态变量,我觉得是jdk不能把String转换过来