import java.lang.*; import java.io.*;
public class readWrite { public static void main(String ar[]) throws IOException { InputStreamReader inReader=new InputStreamReader(System.in); BufferedReader bStream=new BufferedReader(inReader); FileOutputStream fWrite=new FileOutputStream(\ String rString; do { System.out.println(\ System.out.flush(); rString=bStream.readLine(); System.out.println(\ fWrite.write(rString.getBytes()); System.out.println(\ }while(rString.length()!=0); } }
2 编程计算三角形的面积和周长。要求如下: (1)、设计一个接口InterfaceShape,其中有计算三角形的面积和周长的抽象方法; (2)、设计一个点类Point,其中有必要的构造方法和一般的访问器方法(getXXX())和修改器方法(setXXX()); (3)、通过实现InterfaceShape接口类的方式,并使用Point类,设计三角形Triangle类,其中有必要的构造方法和计算三角形的面积和周长的方法; (4)、设计一个主类Shape,对使用Point类,设计三角形Triangle类进行测试,计算三角形的面积和周长,并在屏幕上输出。
难度:A;知识点:综合,面向对象编程。
答案:
InterfaceShape 接口:
public interface InterfaceShape {
public abstract double getArea(); public abstract double getFerence(); }
Point 类:
public class Point { double x;
double y; public Point(double x, double y)
{
this.x = x; this.y = y; }
public double getX() {
return x; }
public void setX(double x) {
this.x = x; }
public double getY() {
return y; } public void setY(double y)
{
this.y = y; } }
Triangle 类
public class Triangle implements InterfaceShape {
Point a; Point b; Point c;
public double s1; public double s2; public double s3;
public Triangle(Point A, Point B, Point C) {
this.a = A;
班级:this.b = B; this.c = C;
}
//三角形面积
public double getArea() {
double p=(this.getS1()+this.getS2()+this.getS3())/2;
return Math.pow(p*(p-this.getS1())*(p-this.getS2())*(p-this.getS3()),0.5); }
//三角形周长
public double getFerence() {
return this.getS1()+this.getS2()+this.getS3(); }
public double getS1() {
return Math.sqrt(Math.pow(a.getX()-b.getX(),2)+Math.pow(a.getY()-b.getY(), 2)); }
public double getS2() {
return Math.sqrt(Math.pow(a.getX()-c.getX(),2)+Math.pow(a.getY()-c.getY(), 2)); }
public double getS3() {
return Math.sqrt(Math.pow(b.getX()-c.getX(),2)+Math.pow(b.getY()-c.getY(), 2)); }
}
Shape 测试类: public class Shape {
public static void main(String[] args) {
Point a=new Point(0,0); Point b=new Point(3,0); Point c=new Point(0,4);
Triangle tri = new Triangle(a,b,c);
System.out.println(\三角形面积:\System.out.println(\三角形周长:\
}
大学 —— 学年第 学期
《 Java程序设计 》课程试题
√ 考试
课程号:
□ 考查
题 号 一 二 三 四 五 六 七 八 九 十 总分 阅卷教师 各题分数 40 20 10 5 实得分数
□ A卷 □ B卷
√ 闭卷 □ 开卷
5 20 100 一、单项选择题(20题;每题2分,共40分)
1 、Java程序的执行过程中用到一套JDK工具,其中javac.exe是指( ) A)Java文档生成器 B)Java解释器 C)Java编译器 D)Java类分解器 (难度系数 C) 答案C 知识点:JDK工具
2、HelloWorld.java编译成功后会在当前目录中生成一个什么文件___。 A)Hello.java B)HelloWorld.class C)Helloworld.class D)helloWorld.class (难度系数C)答案:B 知识点:JAVA执行过程
3、main方法是Java Application程序执行的入口点,关于main方法的方法头以下哪项是合法的( )?
A)public static void main( )
B)public static void main( String[] args ) C)public static int main(String [] arg ) D)public void main(String[] arg ) 难度系数:C 答案:B 知识点:JAVA程序结构 4、以下语句正确的是___。
A) x+1=6; B) i++=1; C) a++b=9; D) x+=1; (难度系数B)答案:D 知识点:表达式 5、以下结果为真(true)的是___。
A)10>’a’ B)’a’>20 C) !true D)(3<5) && (4>10) (难度系数B)答案:B 知识点:表达式
6、如果一个线程调用了方法wait( ),则类java.lang.Thread的下列_______方法可
以唤醒该线程。
A)notify( ) B)resume( ) C)run( ) D)start( ) (难度系数B)答案:A 知识点:线程
7、要序列化某些类的对象,这些类就必须实现_________ 。 A)Serializable接口 B)java.io.Externalizable接口 C)java.io.DataInput接口 D)DataOutput接口 (难度系数A)答案:A 知识点:对象序列化
8、下列关于java多线程并发控制机制的叙述中,错误的是______。 A)java中对共享数据操作的并发控制是采用加锁技术 B)线程之间的交互,提倡采用suspend()/resume()方法 C)共享数据的访问权限都必须定义为private
D)java中没有提供检测与避免死锁的专门机制,但应用程序员可以采用某些策略防止死锁的发生
(难度系数A)答案:B 知识点:多线程 9 、下列说法中不正确的一项是________。
A)多线程并发执行时,各个线程中语句的执行顺序是确定的 B)多线程并发执行时,线程之间的相对执行顺序是确定的 C)线程执行顺序的不确定性会导致执行结果的不确定性 D)线程执行顺序的不确定性会破坏共享数据的一致性 (难度系数A)答案:B 知识点:多线程
10、已知小应用程序的源程序文件名是“J_Test.java”,则下列语句中________可以用在HTML文件中用来加载该小应用程序。
A)
(难度系数B)答案:A 知识点:小应用程序
11、在编写Java Application程序时,若需要使用到标准输入输出语句,必