栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

桂林理工大学JAVA试卷(2021)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

桂林理工大学JAVA试卷(2021)

一、程序阅读题,写出以下程序的运行结果。(共 5 道题,每题 6 分,共 30 分)
1.class Tester{
public static void main(String[] args){
int x =12, y = 5;
System.out.println(x + y + "=" + x + y);
}
}
2. public class Tester{
public static void main(String args[]) {
int total = 0;
for ( int i = 0; i < 10; i ++) {
total += i;
if (i % 5 == 3)
break;
total += i;
}
System.out.println ("total = " + total );
}
}
3. public class TestClass{
private static int fun(int[][] data){
int value = data[0][0];
for (int i = 0; i < data.length; i ++)
for (int j = 0; j < data[i].length; j ++)
if (data[i][j] < value)
value = data[i][j];
return value;
}
public static void main(String[] args){
int[][] data = {{9, 2, 5}, {2, 6}, {3, 9, 7, 2}};
System.out.println(fun(data));
}
}

4. public class Base{
public Base(){System.out.print("1") ;}
public void show(){ System.out.print("2") ;}
}
public class Deprive extends Base{
public Deprive(){System.out.print("3") ;}
public void show(){
System.out.print("4");
}
public static void main(String[] args){
Base b = new Deprive();
b.show();
}
}
5. public class TestClass{
public static void main(String[] args){
try{
System.out.print(4);
int[] a = {2, 3};
System.out.println(a[2]);
System.out.print(3);
}
catch(Exception e){
System.out.print(2);
}
System.out.print(1);
}
}

二、程序填空题,根据题目的要求在规定的地方补充合适的源代码。(共 4 道题,每题 10 分,
共 40 分)
1、以下程序的作用是从键盘读取若干个整数,当输入的整数为-999 时终止。请计算所有这些输入整数
(不包括用于终止的-999)的和并输出。请写出 main 函数的实现体,不可改变其它地方。
import java.util.Scanner;
public class Tester
{
public static void main(String[] args)
{
//请在此处补充语句以实现程序功能,不可改变其它地方。
}
}

3
2、以下程序的作用是输出一个数组的最小值及其所在的位置(从 0 开始索引计数)。请补充完整函数 fun,
不可改变其它地方。
public class TestClass{
private static int[] fun(int[] data){
//请在此处补充语句以实现程序功能,不可改变其它地方。
}
public static void main(String[] args){
int[] data = {6, 9, 2, 8, 7,3,9};
int[] result = fun (data);
System.out.println("最小值为:" + result[0] + "; 最小值的索引值为: " + result[1]);
}
}
3、类 Point 用于模拟二维平面上的点,其中构造函数用于初始化点的位置,函数 double distance(Point p)用
于计算两个点之间的几何距离。请根据注释,补充完整 distance ()函数,不可改变其它地方。
public class Point{
private double x;
private double y;
public Point(double x, double y){
//请在此处补充语句初始化类的属性,不可改变已给出代码。
}
public double distance(Point p){
//请在此处补充语句 y 计算并返回两个点的距离,不可改变已给出代码。
}
public static void main(String[] args)
{
Point p1 = new Point(3, 5);
Point p2 = new Point(4, 7);
double d = p1.distance(p2);
System.out.println(d);
}
}

4、以下程序试图完成如下功能:初始时,窗口中有一个按钮,上面显示的内容为"Press Times
0"。当该按钮被点击 n 次时,按钮上面显示的内容变为"Press Times n"。但该程序缺少了部
分信息,请在程序中①-⑤的对应位置添加上相应的代码,使该程序无语法错误,且运行后能
达到预期效果。
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class GUIProgram extends JFrame ① ActionListener
{
private JButton btn = new JButton("Press Times 0");
private int times = 0;
public ② ()
{
super("A Simple GUI Program!");
Container con = getContentPane();
con.setLayout(new FlowLayout());
con.add( ③ );
btn.addActionListener( ④ );
setSize(300, 300);
setVisible(true);
}
public void actionPerformed( ⑤ e)
{
times ++;
btn.setText("Press Times " + times);
}
public static void main(String[] args)
{
new GUIProgram();
}
}

三、程序设计题(30 分,此题答案请直接写于题目之后)
某超市有水果,服装,饮料等三类商品。水果拥有水果名,单价(单位:公斤)等属
性;服装拥有服装名,单价(单位:件)等属性;饮料拥有饮料名,单价(单位:厅)等属
性。某用户从该超市购买了一些商品,需要能够打印出该用户的购物清单,并计算这些商
品的总金额。试采用面向对象程序设计思想,用 UML 类图描述你的设计方案,包括:(1)
类名,类的主要属性及类的主要方法;(2)类与类之间的关系。并给出:(1)每个类的主要
功能描述,类的每个主要属性的作用描述,类的每个主要方法的功能描述;(2)从程序的可
扩展性等角度简要评价你的设计方案。

参考答案

1、
17=125

2、
total = 9

3、
2

4、
134

5、
421

1、
Scanner scan = new Scanner(System.in);
System.out.println("Please input some integers, end with -999");
int sum = 0;
int data = 0;
do
{
data = scan.nextInt();
if (data != -999)
sum += data;
}while(data != -999);
System.out.println(sum);

2、
int min = data[0];
int index = 0;
for (int i = 1; i < data.length; i ++)
{
if (min > data[i])
{
min = data[i];
index = i;
}
}
int[] result = {min, index};
return result;

3、
this.x = x;
this.y = y;
return Math.sqrt((x - p.x) * (x - p.x) + (y - p.y) * (y - p.y));

4、
implements
GUIProgram
btn
this
ActionEvent

2、 每个类的主要功能说明
Good,描述商品的抽象基类,包含属性:名称(name),单价(Price);方
法 show 用于显示商品名称,单价,购买数量(由参数传入),折扣后的价格
(由 calMoney 计算),方法 calMoney 为抽象函数,根据购买数量(由参数传
入)计算折扣后的价格。
Fruit,描述水果类,从 Good 派生而来。重写了基类的 show 与 calMoney 方法。
Dress,描述服装类,从 Good 派生而来。重写了基类的 show 与 calMoney 方法。
Drinks,描述饮料类,从 Good 派生而来。重写了基类的 show 与 calMoney 方
法。
Goods,描述用户购买的商品清单(由属性 goods 记录);方法 addGood 添加
一件商品及其购买的数量,方法 showGoods 显示购买的商品清单,每样商品的
信息通过调用对应类的 show 方法实现,方法 calTotalMoney 计算所购买商品
的总价格,通过调用对应类的 calMoney 并求和实现。
3、 可扩展性分析
(1)若需求增加新的商品类型,只需要定义相应的类,并从 Good 派生,
覆盖相应的函数即可,不需要修改已有的类;
(2)若需求修改已有商品类型的属性(如增加商品描述信息)或操作,只
要修改相应的类即可,对其它类没有影响;
(3)综上可知,该设计具有很好的可扩展性。

1、总分 20 分;
没有继承与多态,
酌情给分,最多不
超过 15 分;
没 有 形 成 类 似
calMoney 函数覆
盖扣 3 分,没有类
似 show()函数覆
盖扣 3 分;每少一
个具体商品类扣 2
分;
Goods 类 中 没 有
List 或
Good 类型的数组
扣 3 分,没有类似
addGood 函数扣 2
分 , 没 有 类 似
showGoods 扣 2
分 , 没 有 类 似
calTotalMoney 函
数扣 2 分。
呈 现 了更 好的 设
计细节的,可以酌
情加分,但部分不
超过 20 分。
2、每清晰描述一
个 类 或关 键函 数
加 1 分,最多 5 分。
3、与设计方案相
对应,表述合理即
可酌情给分,最多
5 分。 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/981151.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号