IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> 2021Java期末加油 -> 正文阅读

[Java知识库]2021Java期末加油


前言

前几天不是实现了去年的题目了吗?就那个登录窗口加随机数排序,但那也是我摸索着写的,所以有点乱,今天又重新整理了一下思路,感觉好很多,分享给大家。

下面是代码运行的演示视频:

2020年Java期末再现


J10

import javax.swing.*;

public class J10 extends JFrame {
	
	J10() {
		setTitle("登录窗口");
		setSize(600, 400);
		setVisible(true);
	}

	public static void main(String[] args) {new J10();}

}

J11

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class J11 extends J10 implements ActionListener {
	
	JButton b1, b2;
	
	J11() {
		setLayout(new GridLayout(3, 1));
		JPanel p1 = new JPanel();
		JPanel p2 = new JPanel();
		JPanel p3 = new JPanel();
		
		JLabel l1 = new JLabel("账号:");
		JLabel l2 = new JLabel("密码:");
		JTextField t = new JTextField(16);
		JPasswordField pass = new JPasswordField(16);
		
		b1 = new JButton("登录");
		b2 = new JButton("注册");
		b1.addActionListener(this);
		b2.addActionListener(this);
		
		p1.add(l1); p1.add(t);
		p2.add(l2); p2.add(pass);
		p3.add(b1); p3.add(b2);
		add(p1); add(p2); add(p3);
	}
	
	public void actionPerformed(ActionEvent e) {
		if (e.getSource() == b2) {
			new J12().setTitle("注册窗口");
			this.setVisible(false);
		}
	}

	public static void main(String[] args) {new J11().setVisible(true);}

}

J12

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class J12 extends J10 implements ActionListener {
	
	JButton b;
	
	J12() {
		setLayout(new GridLayout(4, 1));
		JPanel p1 = new JPanel();
		JPanel p2 = new JPanel();
		JPanel p3 = new JPanel();
		JPanel p4 = new JPanel();
		
		JLabel l1 = new JLabel("申请账号:");
		JLabel l2 = new JLabel("设置密码:");
		JLabel l3 = new JLabel("确认密码:");
		
		JTextField t = new JTextField(16);
		JPasswordField pass1 = new JPasswordField(16);
		JPasswordField pass2 = new JPasswordField(16);
		
		b = new JButton("注册并登录");
		b.addActionListener(this);
		
		p1.add(l1); p1.add(t);
		p2.add(l2); p2.add(pass1);
		p3.add(l3); p3.add(pass2);
		p4.add(b);
		add(p1); add(p2); add(p3); add(p4); 
	}
	
	public void actionPerformed(ActionEvent e) {
		if(e.getSource() == b) {
			new J13().setTitle("随机数排序窗口");
			this.setVisible(false);
		}
	}
	
	public static void main(String[] args) {new J12().setVisible(true);}

}

J13

import java.awt.*;
import java.awt.event.*;
import java.util.*;
import javax.swing.*;

public class J13 extends J10 implements ActionListener {
	
	JButton b;
	static String str = "",res  = "";
	static int[] a = new int[10];
	
	J13() {
		Random r = new Random();
		for (int i = 0; i < 10; i ++) {
			a[i] = r.nextInt(100);
			str = str + a[i] + " ";
		}
		
		//冒泡排序
		for (int i = 0; i < 9; i ++)
			for (int j = 0; j < 9-i; j ++)
				if (a[j] > a[j+1]) { int t = a[j]; a[j] = a[j+1]; a[j+1] = t;}
		
//		//选择排序
//		for (int i = 0; i < 9; i ++)
//			for (int j = i+1; j < 10; j ++)
//				if (a[i] > a[j]) {int t = a[i]; a[i] = a[j]; a[j] = t;}
		
		for (int i = 0; i < 10; i ++)
			res = res + a[i] + " ";
		
/* **************************************************************************************** */
		
		setLayout(new GridLayout(2, 1));
		JPanel p1 = new JPanel();
		JPanel p2 = new JPanel();
		
		JLabel l = new JLabel("十个随机数:");
		JTextArea t = new JTextArea(str, 1, 20);
		b = new JButton("点击进行排序");
		b.addActionListener(this);
	
		p1.add(l); p1.add(t);
		p2.add(b);
		add(p1); add(p2);
	}
	
	public void actionPerformed(ActionEvent e) {
		if (e.getSource() == b) new J14();
	}

	public static void main(String[] args) {new J13().setVisible(true);}

}

J14

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class J14 extends J10 implements ActionListener {
	JButton b;
	
	J14() {
		setLayout(new GridLayout(2, 1));
		JPanel p1 = new JPanel();
		JPanel p2 = new JPanel();
		
		JLabel l = new JLabel("排序后的数:");
		JTextArea t = new JTextArea(J13.res, 1, 20);
		b = new JButton("点击结束");
		b.addActionListener(this);
		
		p1.add(l);p1.add(t);
		p2.add(b);
		add(p1); add(p2);
	}

	public void actionPerformed(ActionEvent e) {
		if (e.getSource() == b) System.exit(0);
	}

	public static void main(String[] args) {new J14().setVisible(true);}

}

总结

J11、J12、J3、J14四个Jframe子类实现了四个窗口,一一对应,如果这次考试考其他算法,只需对J13中的随机数排序算法换一下就行。

最后盲猜一波:随机数+排序80%、二分查找50%、100以内素数10%、随机数猜数游戏10%、杨辉三角1%,最短路0%。

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2021-12-13 12:40:04  更:2021-12-13 12:40:52 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 5:53:22-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码