JavaSE程序
JavaSE程序
new个星
这个作者很懒,什么都没留下…
展开
-
Java-线程,多线程同步安全案例,多窗口卖票一共有 50张票 ,4个窗口出售,打印出票售出的顺序。
一共有 50张票 ,4个窗口出售,打印出票售出的顺序。package com.problem3;public class Demo { // 一共有 50张票 ,4个窗口出售,打印出票售出的顺序。 public static void main(String[] args) { // 设票有50张 int count = 50; // 实例化MyThread类,并传入票数 MyThread myThread = new MyThread(count); // 创建四个线程,调用原创 2021-04-09 20:36:38 · 713 阅读 · 0 评论 -
Java-线程举例描述经典生产者和消费者问题:生产者不停的生产蛋糕放到盘子里面,消费者不停的从盘子里面消费蛋糕。
描述经典生产者和消费者问题:生产者不停的生产蛋糕放到盘子里面,消费者不停的从盘子里面消费蛋糕。当盘子里面没有蛋糕的时候,消费者要等待wait,直到生产者生产了蛋糕通知notify消费者,可以继续从盘子里面消费蛋糕了。package com.problem4;public class Cake { private int cake = 0; // 取蛋糕 public void get() { // 同步块,锁住该资源,在某时刻取蛋糕这个线程操作该资源的时候,不允许有其他线程访问该资源原创 2021-04-09 20:34:33 · 215 阅读 · 0 评论 -
打印输出一个实心棱形
@Test public void star() { //先打印第一行的空格部分,再打印*部分 int size = 4; for (int i = 1; i <= size; i++) { for (int j = 1; j <= size - i; j++) { System.out.print(" "); } for (int k = 1; k <= 2 * i - 1; k++) { System.out.print('*');原创 2021-03-19 09:04:59 · 151 阅读 · 0 评论 -
输入一段有汉字、字母、数字、其他字符的字符串,输出各有几个
@Test public void test1() { Scanner scanner = new Scanner(System.in); System.out.println("请输入字符"); String string = scanner.next(); char[] array = string.toCharArray(); int letter = 0; int number = 0; int other =0; int chinese = 0; //利用UN原创 2021-03-19 09:03:14 · 278 阅读 · 0 评论 -
定义一个方法,使用随机的字母+数字生成一个6位数的密码
@Test public void test10() { //调用PassWord方法打印输出 System.out.println(PassWord()); } //定义一个方法,使用随机的字母+数字生成一个6位数的密码 public String PassWord() { //把字符转换为ASCII码值 //0-9 48-57 A-Z 65-90 a-z 97-122 // String result = ""; while(true) { int t原创 2021-03-19 08:51:20 · 946 阅读 · 0 评论 -
Java-Random随机生成一个50个数字的数组,并求出偶数和奇数的个数
@Test public void test7() { int[] a = new int[50]; int count = 0; int even = 0; int odd = 0; for (int i = 0; i < a.length; i++) { int num = new Random().nextInt(10); a[i] = num; if(a[i]%2==0) { even++; }if(a[i]%2!=0) { odd原创 2021-03-19 08:04:23 · 1391 阅读 · 0 评论 -
生成随机数来猜数字
@Test //随机生成一个数来猜 public void number() { int num = new Random().nextInt(100); Scanner inputnumber = new Scanner(System.in); while (true) { System.out.println("请输入要猜的数字"); int num1 = inputnumber.nextInt(); if (num1 > num) { System.ou原创 2021-03-18 21:59:11 · 226 阅读 · 0 评论 -
根据成绩判断输出等级,利用构造方法判断
@Test //success成绩 public void success() { Scanner inputsuccess = new Scanner(System.in); System.out.println("请输入您的成绩"); int record = inputsuccess.nextInt(); if (record >= 90) { System.out.println("A等级"); }else if (record >= 60 &&am原创 2021-03-18 21:57:38 · 136 阅读 · 0 评论 -
判断101-200之间有多少个素数,并输出所有素数。
@Test //prime:素数 //判断101-200之间有多少个素数,并输出所有素数。 public void prime1() { int count =0; int line = 0; for (int prime = 101; prime <= 200; prime++) { int j = 0; for (int i = 1; i <= prime; i++) { if (prime % i == 0) { j++; }原创 2021-03-18 21:54:51 · 268 阅读 · 0 评论 -
鸡兔同笼问题,头40,脚15,求鸡和兔各几只
@Test public void ChickenRabbit() { for (int Chicken = 0;Chicken <= 15; Chicken++) { for (int rabbit = 0;rabbit <= 15; rabbit++) { if((Chicken+rabbit == 15)&&((Chicken*2)+(rabbit*4) == 40)) { System.out.println("Chicken有"+Chick原创 2021-03-18 21:53:33 · 285 阅读 · 0 评论 -
输出一个功能选择界面 1、开卡 2、查询余额 3、转账 0、退出,
/*** 输出一个功能选择界面 1、开卡 2、查询余额 3、转账 0、退出,当用户选择1,输出 “开卡成功”,返回功能选择界面当用户选择2,输出 “余额500元”,返回功能选择界面当用户选择3,提示用户输入转入账号,转出账号,转账金额,用户输入完成后,输出 “转账成功”,返回功能选择界面当用户选择0,退出系统,系统停止运行当用户选择其他,提示 “选择错误”,返回功能选择界面*/public void panel() { Scanner inputScanner = new Scanne原创 2021-03-18 21:51:53 · 143 阅读 · 0 评论 -
输入两个数,判断这两个数之间的偶数
@Test public void even(){ Scanner inputScanner = new Scanner(System.in); System.out.println("请输入第一个数:"); long firstnumber = inputScanner.nextLong(); System.out.println("请输入第二个数"); long secondnumber = inputScanner.nextLong(); while (firstnumber原创 2021-03-18 21:50:35 · 718 阅读 · 0 评论 -
输入n位评委,并输入评委的打分,去掉最高最低分求均值
@Test public void average() { double ave = 0; double sum = 0; double min = 0; double max = 0; //往数组输入数值 Scanner InputPepole =new Scanner(System.in); while (true) { System.out.println("请输入有几位评委:"); int i=InputPepole.nextInt(); double s原创 2021-03-18 21:49:12 · 4218 阅读 · 0 评论 -
输入一个数,计算这个数的阶乘
@Test //factorial:阶乘 //long取值范围:-9223372036854775808到9223372036854775807 public void factorial2() { Scanner input = new Scanner(System.in); System.out.println("请输入一个数值:"); long i=input.nextLong(); if(i == 0) { System.out.println("阶乘为:1");原创 2021-03-18 21:46:59 · 469 阅读 · 0 评论 -
打印输出n行n列的*
@Test//输出n行n列的星星 public void star(){ //link表示行 //row表示列 System.out.println("请输入行和列:"); Scanner input = new Scanner(System.in); int link=input.nextInt(); int row=input.nextInt(); for(int k=1;k <= link;k++) { for (int l=1; l <= row;原创 2021-03-18 21:05:45 · 1702 阅读 · 0 评论 -
java-提示用户标准输入(键盘输入),当用户输入‘end‘算结束,将用户输入的信息写入到磁盘文件中。
//提示用户标准输入(键盘输入),当用户输入'end'算结束,将用户输入的信息写入到磁盘文件中。@Test // 字符流、缓冲区读取,并且按行读取 public void test4() { String pathString = "E:\\doubleE\\123.txt"; File fromFile = new File(pathString); File toFile = new File("F:\\eclipse\\123\\123.txt"); BufferedReader原创 2021-04-02 09:56:44 · 691 阅读 · 0 评论 -
Java-使用时间戳生成不重复的文件名。从某磁盘读一张图片,然后保存到另一个磁盘,多次执行重新保存,保证名字不重复。
import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import java.text.SimpleDateFormat;import java.util.Date;import org.junit.Test;//原创 2021-03-31 21:22:31 · 890 阅读 · 0 评论 -
Java-使用递归方法:编写一个程序,遍历打印一个目录下面的所有的目录,包括目录下面的目录。
编写一个程序,遍历打印一个目录下面的所有的目录,包括目录下面的目录。import java.io.File;import org.junit.Test;public class FileOut { // 递归方法 @Test // 遍历文件中的所有子目录,如果为空直接返回 public void test3() { File file = new File("F:\\"); getPath(file); } public static void getPath(File f) {原创 2021-03-31 21:19:29 · 362 阅读 · 0 评论 -
使用Map映射写通信录 并使用Properties持久化。 软件功能:实现一个软件的地址本,地址本中保存多个联系人的信息(名字,电话,电子邮 件,住址),可以在地址本中增加一个联系人,通过名字删
通信录 (使用Properties 持久化完成)软件功能:实现一个软件的地址本,地址本中保存多个联系人的信息(名字,电话,电子邮件,住址),可以在地址本中增加一个联系人,通过名字删除联系人,通过名字查找联系人实现步骤:本软件需要三个类1)联系人信息类属性:名字,电话,电子邮件,住址方法:设置名字,设置地址,取得名字,取得地址 ,设置邮件,取得邮件,设置电话,取得电话2)地址本类属性:用来保存联系人信息的 集合方法:增加联系人信息,通过名字删除联系人信息,通过名字查找联系人信息3)主函数原创 2021-03-31 08:13:56 · 140 阅读 · 0 评论 -
List与数组之间的相互转换、队列存取数据、栈存取数据
List与数组之间的相互转换@Testpublic void test2() { int[] array = { 12, 12, 1, 2 }; System.out.println(Arrays.toString(array)); // 数组转换为list List<Integer> list = Arrays.asList(12, 12, 1, 2, 2); System.out.println(list); // list转成数组 Integer[] array2 = n原创 2021-03-30 15:47:30 · 315 阅读 · 0 评论 -
Java通信录软件功能:实现一个软件的地址本,地址本中保存多个联系人的信息(名字,电话,电子邮 件,住址),可以在地址本中增加一个联系人,通过名字删除联系人,通过名字查找联系人 实现步骤:
通信录软件功能:实现一个软件的地址本,地址本中保存多个联系人的信息(名字,电话,电子邮件,住址),可以在地址本中增加一个联系人,通过名字删除联系人,通过名字查找联系人实现步骤:本软件需要三个类1)联系人信息类属性:名字,电话,电子邮件,住址方法:设置名字,设置地址,取得名字,取得地址 ,设置邮件,取得邮件,设置电话,取得电话2)地址本类属性:用来保存联系人信息的 集合方法:增加联系人信息,通过名字删除联系人信息,通过名字查找联系人信息3)主函数类 循环提示 (控制台打印)1)展示联系原创 2021-03-30 08:58:37 · 387 阅读 · 0 评论 -
利用LinkedHashSet进行保持原有顺序去重,HashSet进行有序去重
利用LinkedHashSet进行保持原有顺序去重 ,HashSet进行有序去重package com.situ.homework02;import java.util.ArrayList;import java.util.LinkedHashSet;import java.util.List;import java.util.Random;import java.util.Scanner;import java.util.Set;//利用LinkedHashSet进行保持原有顺序排序原创 2021-03-30 08:51:04 · 780 阅读 · 0 评论 -
定义两个List列表,使用随机数进行填充 ,然后 放进set集合里面进行去重,并且将两个list合并
@Test // 定义两个List列表,使用随机数进行填充 // 放进set集合里面进行去重,并且将两个list合并 public void test4() { List<Integer> list = new ArrayList<Integer>(); List<Integer> list1 = new ArrayList<Integer>(); for (int i = 0; i < 20; i++) { list.add(n原创 2021-03-29 14:26:50 · 417 阅读 · 0 评论 -
生成10个随机数,获取最大值最小值
@Test public void test6() { int max = 0; int min = 100; int []a = new int[10]; for (int i = 0; i < a.length; i++) { int num = new Random().nextInt(100); a[i] = num; System.out.print("\t"+a[i]); if (max < a[i]) { max = a[i];原创 2021-03-19 08:03:46 · 2069 阅读 · 0 评论 -
求1-100的累加值和;求1-10的累乘;输出1000以内的素数
求1-100的累加值和;求1-10的累乘;输出1000以内的素数@Test public void test4() { int result = 0; for (int i = 1; i <= 100; i++) { result += i; } System.out.println("1-100的累加和为" + result); }@Test public void test5() { int result = 1; for (int i = 1; i原创 2021-03-29 13:49:46 · 521 阅读 · 0 评论 -
给你一个年份,判断该年份是不是闰年
@Test // 给你一个年份判断该年份是不是闰年 // ܱ能被400整除或者能被4整除但是不能被100整除 public void test2() { Scanner scanner = new Scanner(System.in); System.out.println("请输入一个年份"); long year = scanner.nextLong(); if ((year % 4 == 0) && (year % 100 != 0) || year % 400原创 2021-03-29 13:33:25 · 426 阅读 · 0 评论 -
定义员工类,子类:小时工类,销售员工类, 普通员工类,在 main 函数中生成这三种员工的对象,并调用计算工资的方法。
/**5,定义员工类 属性:姓名,基本工资 方法: 1. 计算工资 :返回这个员工的基本工资。 **子类:小时工类** 属性:工作的小时,每小时工资。 方法: 1. 设置工作的小时 2. 设置每小时的工资。 3. 重写计算工资方法: 小时工没有基本工资,他的工资就是工作的小时*每小时工资。 **子类:销售员工类** 属性:销售的总金额 方法 1. 设置销售的总金额 2. 重写计算工资方法: 基本工资+提成。 提成的计算: 当销售额在10000 以下时,则提成10%, 当销售额在10000-10原创 2021-03-29 11:12:37 · 807 阅读 · 0 评论 -
定义一个方法,形参为Date 日期,返回值为boolean,判断当前这个日期是否周末(周六,周天)。
package com.situ.problem07;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date;import org.junit.Test;/* * 定义一个方法,形参为Date 日期,返回值为boolean,判断当前这个日期是否周末(周六,周天)。 */public class Exam07 { @Te原创 2021-03-29 11:03:18 · 379 阅读 · 1 评论 -
输出2010年到2021年的黑色星期五;输入一个字符串格式的年,输出这一年当中的黑色星期五!
黑色星期五是指每个月的13号和每个周的周五为同一天代码如下:@Test public void test2() { // 嵌套循环拿到年月日 for (int year = 2010; year <= 2021; year++) { Calendar calendar = Calendar.getInstance(); calendar.set(Calendar.YEAR, year); for (int month = 0; month < 12; month+原创 2021-03-26 13:33:03 · 353 阅读 · 0 评论