在下面的程序中,我可否用数组取代switch语句选择颜色种类?可以的话有该怎样用呢?
import java.awt.Graphics;
import javax.swing.JApplet;
import java.awt.*;
import javax.swing.*;
public class WhileCounter extends JApplet{ public void paint(Graphics g) {
int width = 1,height = 1;
while(width <= 10){
while(height <= 10){
switch(height){
case 1:
g.setColor(Color.red);
g.drawRect(10,10,width*10,height*10);
break;
case 2:
g.setColor(Color.yellow);
g.drawRect(10,10,width*10,height*10);
break;
case 3:
g.setColor(Color.green);
g.drawRect(10,10,width*10,height*10);
break;
case 4:
g.setColor(Color.blue);
g.drawRect(10,10,width*10,height*10);
break;
case 5:
g.setColor(Color.orange);
g.drawRect(10,10,width*10,height*10);
break;
default:
g.drawRect(10,10,width*10,height*10);
}
width++;
height++;
}
}
}
}
import java.awt.Graphics;
import javax.swing.JApplet;
import java.awt.*;
import javax.swing.*;
public class WhileCounter extends JApplet{ public void paint(Graphics g) {
int width = 1,height = 1;
while(width <= 10){
while(height <= 10){
switch(height){
case 1:
g.setColor(Color.red);
g.drawRect(10,10,width*10,height*10);
break;
case 2:
g.setColor(Color.yellow);
g.drawRect(10,10,width*10,height*10);
break;
case 3:
g.setColor(Color.green);
g.drawRect(10,10,width*10,height*10);
break;
case 4:
g.setColor(Color.blue);
g.drawRect(10,10,width*10,height*10);
break;
case 5:
g.setColor(Color.orange);
g.drawRect(10,10,width*10,height*10);
break;
default:
g.drawRect(10,10,width*10,height*10);
}
width++;
height++;
}
}
}
}
import javax.swing.JApplet;
import java.awt.*;
import javax.swing.*;
public class WhileCounter extends JApplet{ final static Color[] COLORS = {Color.RED,
Color.YELLOW, Color.GREEN, Color.BLUE,
Color.ORANGE}; public void paint(Graphics g) {
int width = 1,height = 1;
while(width <= 10) {
while(height <= 10) {
if (height >= 1 && height <=5) {
Color color = COLORS[height - 1];
g.setColor(color);
}
width++;
height++;
}
}
}
}
好方法