三、编程题
包括基本编程题、编程题、综合编程题三部分。
1、设计一个图形用户界面的颜色合成程序,界面如下图所示。要求改变任一颜色值时,合成颜
色实时变化。
import java.awt.*;
import java.awt.event.*;
public class RGBColor extends WindowAdapter implements TextListener {
Frame f;
TextField tf1,tf2,tf3; Panel p2;
public RGBColor() {
f=new Frame(\"合成颜色\"); f.setSize(500,200); Panel p1=new Panel(); p2=new Panel(); f.add(p1,\"North\"); f.add(p2);
p1.add(new Label(\"Red\")); tf1=new TextField(\"255\ p1.add(tf1);
p1.add(new Label(\"Green\")); tf2=new TextField(\"0\ p1.add(tf2);
p1.add(new Label(\"Blue\")); tf3=new TextField(\"0\ p1.add(tf3);
tf1.addTextListener(this); tf2.addTextListener(this); tf3.addTextListener(this);
p2.setBackground(new Color(255,0,0)); f.setVisible(true);
f.addWindowListener(this); }
public void textValueChanged(TextEvent e)
}
{
int r=(new Integer(tf1.getText())).intValue(); int g=(new Integer(tf2.getText())).intValue(); int b=(new Integer(tf3.getText())).intValue(); p2.setBackground(new Color(r,g,b)); }
public void windowClosing(WindowEvent e){ System.exit(0); }
public static void main(String k[]){ new RGBColor(); }
2、使用抽象类或接口计算三种几何图形的周长与面积,几何图形的尺寸自定。 abstract class Geometric{ }
class sanjiaoxing extends Geometric{ //三角形类继承抽象类 }
abstract double getZhouchang(); abstract double getArea();
private float a,b,c;
sanjiaoxing(float x1,float x2,float x3){ }
double getZhouchang(){ }
double getArea(){ }
float p=(a+b+c)/2;
return Math.sqrt(p*(p-a)*(p-b)*(p-c)); return a+b+c; a=x1;b=x2;c=x3;
class yuan extends Geometric{ //圆类继承抽象类 private float radius; yuan(float a){ radius=a;
}
double getZhouchang(){ double p; p=2*3.14*radius; return p; }
double getArea(){ return 3.14*radius*radius; }
}
class juxing extends Geometric{ // private float height; private float width; juxing(float a,float b){ height=a; width=b;
}
double getZhouchang(){ return 2*(width+height); }
double getArea(){ return width*height; }
}
public class ABC {
矩形类实现接口
public static void main(String args[]){
sanjiaoxing obj1=new sanjiaoxing(3,4,5); System.out.println(\"当三角形三边是3,4,5时:\"); System.out.println(\"周长是:\"+obj1.getZhouchang()); System.out.println(\"面积是:\"+obj1.getArea());
yuan obj2=new yuan(4); }
3、编程将23.56这个浮点型数的整数部分和小数部分分别在屏幕输出显示。 class doubletest{ }
4、编程求出一维int数组{23,56,64,32,48,78}的元素最大值、最小值、平均值的所有元素之和。 public class shuzu{
public static void main(String[] args){
System.out.println(\"当圆的半径是4时:\");
System.out.println(\"周长是:\"+obj2.getZhouchang()); System.out.println(\"面积是:\"+obj2.getArea()); juxing obj3=new juxing(3,4);
System.out.println(\"当矩形的长和宽是3和4时:\"); System.out.println(\"周长是:\"+obj3.getZhouchang()); System.out.println(\"面积是:\"+obj3.getArea()); }
public static void main(String args[]){ }
double i = 23.56; int m; float n;
m = (int)(i / 1); n = (float)(i - m); System.out.println(m); System.out.println(n);
int m[] = {23,56,64,32,48,78}; int i,j; int max = m[0]; int min = m[0]; int sum=0; double av=0.0; for(i = 0;i <= 5;i++){ }
System.out.print(min+\"\\n\"+max+\"\\n\"+av+\"\\n\"+(min+max+av)); } }
5、已知有一整型值 int a=5872 ,写一段java程序将a中的数字倒过来得到int b=2785。 public class shudenizhi{
public static void main(String args[]){ int a=5872,a1,a2,a3,a4,b; a1=a/1000;
a2=(a-a1*1000)/100; a3=(a-a1*1000-a2*100)/10; a4=(a-a1*1000-a2*100-a3*10); b=a4*1000+a3*100+a2*10+a1; System.out.println(\"b=\"+b); } }
6、编写一个application程序,求1!+2!+3!+……+20!。把最后的结果在屏幕显示出来。 public class jiechenghe {
max = max > m[i]?max:m[i]; min = min < m[i]?min:m[i]; sum += m[i]; av = (double)sum/6;
}
public static void main(String s[]) { long i=1; long k=0; for(int n=1;n<=20;n++) { i=i*n; k=k+i; } System.out.println(k); }
因篇幅问题不能全部显示,请点此查看更多更全内容