java 期末复习题目练习

这篇博客包含了多个Java编程题目,包括打印水仙花数、创建并反转数组、体操比赛评分计算、学生成绩排序、U盘信息排序、简易计算器实现、计时器设计、多线程模拟过山洞、猜数字游戏以及限时答题程序设计,涵盖了基础操作和多线程应用。
摘要由CSDN通过智能技术生成

1 打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:153 是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。

package one;
public class Shuixianhua {
	public static void main(String[] args) {
		System.out.println("所有的水仙花数:");
		for (int i = 100; i < 1000; i++) {
			int ge,shi,bai;
			bai=i/100;
			shi=(i-100*bai)/10;
			ge=i-bai*100-shi*10;
			if(i==bai*bai*bai+shi*shi*shi+ge*ge*ge){
				System.out.println(i+"");
			}
		}	
	}
}

这里写图片描述

2 建立一个长度为9的数组,随机为该数组分配九个0~100间的随机数作为数组元素,并顺序打印数组元素;然后实现数组反转,并打印反转后的数组元素。

package two;
import java.util.Random;
public class RandomNum {
	public static void main(String[] args) {

		int[] a=new int[9];
		for (int i = 0; i < a.length; i++) {
			a[i]=(int)(Math.random()*100)+1;
		}
		System.out.println("顺序输出随机数:");
		for (int i = 0; i < a.length; i++) {
			System.out.println("a["+i+"]="+a[i]);
		}
		
		for (int i = 0; i < a.length/2; i++) {
			int temp=a[i];
			a[i]=a[a.length-i-1];
			a[a.length-i-1]=temp;
		}
		System.out.println("数组反转后:");
		for (int i = 0; i < a.length; i++) {
			System.out.println("a["+i+"]="+a[i]);
		}
	}

}

这里写图片描述

3 编写程序模拟体操比赛选手成绩的计算方法。首先输入五位评委各自的打分(满分100分),去掉一个最高分、去掉一个最低分后求平均分(保留小数点后两位)作为选手的最终成绩并输出。

package three;

import java.util.Scanner;

public class Score {

	public static void main(String[] args) {
		System.out.println("请各评委输入8号选手的成绩:");
		Scanner in = new Scanner(System.in);
		double a[] = new double[5];
		for(int i=0; i<5; i++){
			a[i]=in.nextDouble();
		}
		System.out.println("五位评委分别打分为:");
		for(int i=0; i<5; i++)
			System.out.print("  "+a[i]);
		System.out.println();
		double avg=0;
		//对数组的值进行冒泡排序
		for (int i = 1; i < a.length; i++) {
			for (int j = 0; j < a.length-i; j++) {
				if (a[j]>a[j+1]) {
					double temp=a[j];
					a[j]=a[j+1];
					a[j+1]=temp;
				}
			}
		}
		for(int i=0; i<5; i++)
			avg+=a[i];
		System.out.println("8号选手的最终得分是:"+((avg-a[a.length-1]-a[0])/5));

	}
	

}

这里写图片描述

4 编写一个应用程序,用户分别从两个文本框输入学生的姓名和分数,程序按成绩排序将这些学生的姓名和分数显示在一个文本区中。
程序以及运行效果如图:

package four;
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import java.util.*;
public class StudentFrame extends JFrame{
	JPanel pl;
	JLabel name, score;
	JTextField inputName, inputScore;
	JButton button;
	JScrollPane sp;
	JTextArea showArea;
	TreeSet<Student> treeSet;
	
	StudentFrame(String title){
		super(title);
		treeSet = new TreeSet<Student>();
		
		pl = new JPanel();
		name = new JLabel("姓名");
		score = new JLabel("成绩");
		inputName = new JTextField(5);
		inputScore = new JTextField(5);
		button = new JButton("确定");
		button.addActionListener(new MyListener());
		pl.add(name);
		pl.add(inputName);
		pl.add(score);
		pl.add(inputScore);
		pl.add(button);
		
		showArea = new JTextArea();
		sp = new JScrollPane(showArea);
		
		add(pl, BorderLayout.NORTH);
		add(sp, BorderLayout.CENTER);
		setSize(400,300);
		setVisible(true);
		validate();
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE
  • 5
    点赞
  • 53
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
一. 选择题(共50题,每题2分,共100分。多选题选不全或选错都不得分。) 1. 以下属于面向对象的特征的是(C,D)。(两项) A) 重载 B) 重写 C) 封装 D) 继承 2. 以下代码运行输出是(C) public class Person{ private String name=”Person”; int age=0; } public class Child extends Person{ public String grade; public static void main(String[] args){ Person p = new Child(); System.out.println(p.name); } } A) 输出:Person B) 没有输出 C) 编译出错 D) 运行出错 3. 在使用super 和this关键字时,以下描述正确的是(A) A) 在子类构造方法中使用super()显示调用父类的构造方法,super()必须写在子类构造方法的第一行,否则编译不通过 B) super()和this()不一定要放在构造方法内第一行 C) this()和super()可以同时出现在一个构造函数中 D) this()和super()可以在static环境中使用,包括static方法和static语句块 ...... 一、 编写程序实现对给定的10个整数从大到小的顺序排列。 二、 输入3个正数,判断能否构成一个三角形 三、 编写程序,从键盘输入一个0~99999之间的任意数,判断输入的数是几位数? 四、 编写程序,给定一个学生成绩,给出相应等级: 90~100优秀80~89良好70~79中等60~69及格0~59不及格 ...... 七、 猴子吃桃问题。猴子第一天摘下若干个桃子,当时就吃了一半,还不过瘾,就又吃了一个。第二天又将剩下的桃子吃掉一半,又多吃了一个。以后每天都吃前一天剩下的一半零一个。到第10天在想吃的时候就剩一个桃子了,求第一天共摘下来多少个桃子?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值