java经典小程序

合集下载

Java做的一个小程序-随机点名器

Java做的一个小程序-随机点名器

Java做的一个小程序-随机点名器介绍随机点名器是一款使用Java编写的小程序,它主要用于在学生课堂上随机抽取学生姓名进行点名。

该程序可以通过命令行方式运行,而且它的使用非常简单,不需要任何的专业技能与知识。

功能特点随机点名器的主要功能是在学生课堂上进行学生姓名的随机抽取,以帮助老师完成课堂管理工作。

程序的具体功能特点如下:•支持添加学生姓名:程序可以通过用户输入学生姓名的方式,将其添加到学生库中。

•支持删除学生姓名:用户可以对已存在的学生进行删除操作。

•支持随机点名:程序可以随机抽取学生姓名,以完成点名的操作。

•支持列表显示:程序可以展示所有的学生姓名列表,以供用户查看。

使用说明系统要求随机点名器使用Java语言编写,因此用户需要先安装Java运行环境。

具体要求如下:•操作系统:Windows、Linux、MacOS等•Java版本:JRE 1.8或以上版本安装方法1.下载程序压缩包。

2.解压缩到用户指定的目录。

3.运行“run.bat”文件(Windows平台)或“run.sh”文件(Linux/MacOS平台)。

使用方法1.添加学生姓名:在命令行窗口中输入“add”命令,然后输入学生姓名进行添加。

2.删除学生姓名:在命令行窗口中输入“delete”命令,然后输入需要删除的学生姓名。

3.随机点名:在命令行窗口中输入“random”命令,程序将随机抽取一个学生姓名进行点名。

4.显示学生列表:在命令行窗口中输入“list”命令,程序将展示所有已经添加的学生姓名。

技术实现技术框架随机点名器采用Java语言编写,主要使用了JDK中的标准库,使用了Collection接口中的List、Set集合类、Random类等。

算法实现随机点名的算法实现主要通过Java中的Random类实现,随机整数范围为0到学生数量-1,通过集合类的索引访问随机抽取的学生姓名。

代码实现```Java import java.util.*;public class RandomPicker { private List students;public RandomPicker() {students = new ArrayList<String>();}public void add(String name) {students.add(name);}public void delete(String name) {students.remove(name);}public String random() {Random random = new Random();int index = random.nextInt(students.size());return students.get(index);}public void list() {int n = 1;for(String student : students) {System.out.println((n++) + \。

推金币Java小程序(Java)

推金币Java小程序(Java)

推金币Java小程序(Java)推金币游戏是一种常见的娱乐方式,通过这个小程序,我们可以学习如何使用Java语言来实现一个简单的推金币游戏。

本文将介绍推金币游戏的规则以及Java代码的实现。

一、游戏规则推金币游戏是一个单人游戏,游戏中有一堆金币,玩家的目标是通过不断推动金币使其从堆中掉落。

游戏的规则如下:1. 开始时,堆中有一定数量的金币。

2. 玩家每次可以选择推动金币的个数,推动的个数范围是1到3个金币。

3. 玩家和电脑交替进行推金币的操作,直到堆中的金币被推空。

4. 最后将判断推完金币时,是玩家推金币的次数奇数还是偶数,奇数次则玩家获胜,偶数次则电脑获胜。

二、Java代码实现下面是使用Java语言实现推金币小程序的代码:```javaimport java.util.Scanner;public class PushCoinGame {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);int coins = 10; // 初始金币数量int count = 0; // 推金币次数while (coins > 0) {// 玩家推金币System.out.print("请输入你要推的金币个数(1-3个):"); int num = scanner.nextInt();if (num < 1 || num > 3 || num > coins) {System.out.println("输入不合法,请重新输入!");continue;}coins -= num;count++;// 判断堆中金币是否已经被推空if (coins <= 0) {break;}// 电脑推金币int compNum = 4 - num; // 电脑总是推剩余金币个数和为4的倍数的数量coins -= compNum;count++;}// 判断胜负if (count % 2 == 0) {System.out.println("电脑获胜!");} else {System.out.println("玩家获胜!");}}}```三、小结通过以上代码,我们实现了一个简单的推金币游戏的Java小程序。

java日历小程序

java日历小程序

java日历小程序简介:Java日历小程序是一个基于Java语言开发的工具,用于显示和管理日期和时间。

它提供了一种简单而直观的方式来查看、创建和编辑日历事件,并提供了一些额外的功能,如提醒、重复事件和时间段的计算等。

本文将详细介绍Java日历小程序的功能、使用方法和设计原理。

功能:1. 显示日历:Java日历小程序可以显示当前月份的日历,并以日、周或月的形式展示。

用户可以通过界面上的上下翻页按钮切换月份,方便查看不同日期的日历。

2. 创建和编辑事件:用户可以通过Java日历小程序创建新的日历事件,并为每个事件指定标题、日期、时间和地点等详细信息。

程序还提供了事件编辑功能,允许用户修改已有事件的信息。

3. 提醒功能:Java日历小程序可以设置事件的提醒功能,提醒用户在指定的时间前提醒。

用户可以选择在事件开始前几分钟、几小时或几天提醒,并可以自定义提醒方式,如弹窗、声音或邮件通知等。

4. 重复事件:用户可以为事件设置重复功能,使事件在指定的日期间隔内重复发生。

可以选择每天、每周、每月或每年重复,并可以设置重复的结束日期。

5. 时间段计算:Java日历小程序可以计算两个日期之间的时间段,如计算两个事件之间的天数、小时数或分钟数等。

用户可以选择计算方式,并获取精确的时间段结果。

使用方法:1. 下载和安装:用户可以从官方网站上下载Java日历小程序的安装包,然后按照安装向导进行安装。

安装完成后,用户可以在桌面或开始菜单中找到程序的快捷方式。

2. 打开程序:双击程序的快捷方式,Java日历小程序将启动并显示当前月份的日历。

用户可以通过界面上的按钮和菜单来使用各种功能。

3. 创建事件:用户可以点击界面上的“添加事件”按钮,弹出一个对话框,输入事件的详细信息,如标题、日期、时间和地点等。

点击“确定”按钮后,事件将被创建并显示在日历上。

4. 编辑事件:用户可以在日历上点击已有的事件,弹出一个对话框,允许用户修改事件的信息。

猜成语Java小程序(Java)

猜成语Java小程序(Java)

猜成语Java小程序(Java)一、引言成语是中华文化的瑰宝,它们凝练、精辟地表达了智慧和人生哲理。

为了增进对成语的理解和记忆,并加深对Java编程语言的应用,我们设计了一个猜成语的小程序。

这个小程序运用Java编程语言实现,具有交互性和趣味性,可以提供一种有趣的学习方法和娱乐方式。

二、程序设计方案1. 界面设计为了使程序界面美观整洁,我们使用Java的图形用户界面库(Swing)进行设计。

在程序的主界面上,我们引入一幅适应窗口大小的背景图片,使整个界面富有元素,增加用户体验感。

2. 成语数据集为了实现成语的随机猜测,我们需要一个成语数据集。

我们选择了一个包含多个常用成语的文本文件(idioms.txt)作为数据源。

程序在启动时从该文件中读取成语,并将其存储在一个ArrayList对象中。

3. 游戏逻辑实现程序首先从成语数据集中随机选择一个成语作为答案,并将其打乱顺序显示在界面上。

用户需要通过输入成语的正确顺序来猜测答案。

程序提供一个文本框供用户输入,用户每输入一个成语后,程序会给出反馈,告知用户该成语是否正确。

4. 成功判断和反馈当用户输入的成语顺序与答案一致时,程序将判断猜测正确,弹出一个提示框,告知用户回答正确。

同时,程序还会显示出答案的含义和出处,增强用户对成语的理解。

若用户输入的成语顺序与答案不一致,则程序会给出相应的错误提示,提示用户继续猜测,直到猜测正确为止。

三、程序运行展示(这里可以插入几张程序运行截图,展示整个程序的界面和交互过程)四、程序实现过程1. 导入所需库为了使程序实现图形用户界面,我们需要导入Java的Swing库。

在程序开始的地方,添加以下导入语句:```import javax.swing.*;```2. 程序主类创建一个主类,继承JFrame类,并在主类中实现界面的布局和事件监听器的设置。

```public class GuessIdiom extends JFrame{// 界面布局和事件监听器设置的代码// ...}```3. 界面设计在主类中添加一个方法,用于设置界面的布局和组件。

javaweb闲暇小程序之抽签程序

javaweb闲暇小程序之抽签程序

javaweb闲暇⼩程序之抽签程序学⾃潭州学院视频主程序页⾯截图1 <%@ page language="java" contentType="text/html; charset=UTF-8"2 pageEncoding="UTF-8"%>3<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "/TR/html4/loose.dtd">4<html>5<head>6<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">7<title>抽签系统</title>89<style type="text/css">10.activity {11 width: 600px;12 height: 300px;13 border: 1px solid;14 margin: 150px auto;15 }1617.text {18 width: 600px;19 height: 100px;20 background: #379be9;21 text-align: center;22 line-height: 100px;23 font-size: 28px;24 color: white;25 }2627body {28 font-size: 12px;29 font-family: "微软雅⿊";30 color: #666;31 }3233.myform {34 text-align: center;35 margin: 10px;36 }3738.a_value {39 width: 200px;40 height: 40px;41 line-height: 40px;42 font-size: 24px;43 text-align: center;44 margin-top: 40px;45 margin-bottom: 30px46 }4748.btn {49 width: 100px;50 height: 30px;51 }52</style>53</head>54<body>55<!-- div层,盒⼦,容器 -->56<div class="activity">57<div class="text" id="myText">抽签系统</div>58<div class="myform">59<input type="text" class="a_value" id="myRandom"></br>60<input type="button" value="开始" class="btn" onclick="myStart()">61<input type="button" value="停⽌" class="btn" onclick="myStop()">62</div>63</div>64<!-- 动态脚本 -->65<script type="text/javascript">66//开始抽奖的⽅法67var timer = null;//定时器的变量68var data = "宿兵畅,尹博⽂,王悦雪,杜⾈,康泽⽣,武凡,⾼梦轩,佘⼠耀,魏昭宇";//抽奖数据,以逗号分隔69//分拆抽奖的数据为数组70var arr = data.split(",");71function myStart() {72//开始之前清空⽂本框73 document.getElementById("myRandom").value = "";74if (!timer) {75//创建定时器76 timer = setInterval(function change(){77var max = arr.length - 1;//数组的长度78var rand = Math.random();//创建⼀个随机数,⼤于079var randIndex = parseInt(rand * max);//得到整型数据80var text_val = document.getElementById("myText");//获取⽂本框区域的值81 text_val.innerHTML = arr[randIndex];//⽂本框的值显⽰在页⾯82 },50);//每50毫秒的间隔,更快的是数字变⼩83 }8485 }8687function myStop(){88 clearInterval(timer);//清除定时器89 timer = null;//变量定时器的清空90var myText = document.getElementById("myText");//获取变化区域的值91var myRandom = document.getElementById("myRandom");//获取⽂本框⾥⾯的值92 myRandom.value = myText.innerHTML;//给⽂本框赋新值93 }94</script>95</body>96</html>主要代码。

java小程序之水仙花数 (1)

java小程序之水仙花数 (1)

水仙花数【实验目的】1.掌握Java程序的编译过程,以及Java程序面向对象的编写方法2.掌握类的定义与声明3.掌握对象的使用与创建4.掌握构造方法的格式及使用5.理解并熟练运用if else语句实现程序所要求的条件【实验原理】1.依次对一个三位数的每一位数的平方求和,百位数可通过除100取整得到,十位数可通过除10取整得到2.三位数中的最小数是101,最大数是999,所以水仙花数必然存在于101到999之间【实验要求】1.运用Java编写命令行程序2.编译、运行、调试、维护Java程序3.使用for循环结构4.熟练使用Eclipse调试工具进行程序调试【实验步骤】在101到1000之间任取一个数m,m除以100取整得到它的百位数a1,除以100取余再讲余数除以10取整得到它的十位数a2,除以10取余得到它的个位数,依次对这三个数a1,a2,a3的三次方求和,验证是否等于m,若相等,则m为水仙花数,打印出来;反之,则不是水仙花数,不用打印出来。

详细思路如下图所示:【问题与解决方法】问题: 打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字 立方和等于该数本身。

例如: 153是一个"水仙花数",因为153=1的三次方+5 的三次方+3的三次方。

程序:package shuixianhuashu;import shuixianhuashu.shuixianhuashu;public class shuixianhuashu{static Boolean isSxh(int m){int a1,a2,a3;a1=m/100;a2=m%100/10;a3=m%10;if (m<3)return false ;else if ( (a1*a1*a1+a2*a2*a2+a3*a3*a3) ==(a1*100+a2*10+a3) )return true ;elsereturn false ;比较m 与 a1^3+a2^3+a3^3若相等,则为水仙花数,输入m}public static void main(String[] args){System.out.println("1000以内的水仙花数:");shuixianhuashu s = new shuixianhuashu();for(int i=101;i<1000;i++)if(s.isSxh(i))System.out.print(i+"\t");}}运行结果:1000以内的水仙花数:153 370 371 407【实验总结】学会了对于一个三位数进行每一位数的分离,同样的,对于任意一位多位数的每一位数也可以运用同样的方式求出。

JAVA小程序—贪吃蛇源代码

JAVA小程序—贪吃蛇源代码

JAVA贪吃蛇源代码SnakeGame。

javapackage SnakeGame;import javax.swing。

*;public class SnakeGame{public static void main( String[]args ){JDialog。

setDefaultLookAndFeelDecorated( true ); GameFrame temp = new GameFrame();}}Snake.javapackage SnakeGame;import java。

awt.*;import java。

util。

*;class Snake extends LinkedList{public int snakeDirection = 2;public int snakeReDirection = 4;public Snake(){this。

add( new Point( 3, 3 ));this。

add(new Point(4, 3 ));this.add( new Point(5,3 ) );this。

add( new Point(6,3 ) );this。

add(new Point(7,3 ));this。

add( new Point( 8,3 ) );this。

add( new Point( 9, 3 ));this。

add( new Point( 10,3 ));}public void changeDirection( Point temp, int direction ) {this。

snakeDirection = direction;switch(direction ){case 1://upthis.snakeReDirection = 3;this。

add( new Point(temp.x,temp.y - 1 ));break;case 2://rightthis。

电影推荐在Android开发环境下使用Java开发的电影推荐小程序

电影推荐在Android开发环境下使用Java开发的电影推荐小程序

电影推荐在Android开发环境下使用Java开发的电影推荐小程序近年来,随着智能手机的普及和移动互联网的快速发展,移动应用程序的开发需求也越来越大。

其中,基于Android操作系统的应用程序成为了开发者们追捧的对象。

本文将介绍如何在Android开发环境下,使用Java语言开发一个电影推荐的小程序。

一、概述电影推荐小程序旨在通过分析用户的兴趣爱好和观影历史,为其推荐个性化的电影内容,提供更好的观影体验。

该小程序将基于Android 开发环境,使用Java语言实现。

二、环境配置在开始开发之前,我们需要搭建好Android开发环境。

首先,下载并安装Android Studio,这是一个功能强大的集成开发环境(IDE),特别适用于Android应用程序开发。

接下来,根据安装向导的指引进行相关配置,即可完成环境搭建。

三、项目创建打开Android Studio后,点击“Create New Project”来创建一个新的项目。

在项目创建向导中,填写项目的名称、包名等基本信息,并选择合适的目标设备。

点击“Next”后,选择“Empty Activity”作为起始模板,并点击“Finish”完成项目创建。

四、布局设计在项目创建完成后,我们需要设计应用的布局界面。

Android Studio 提供了可视化的布局编辑器,我们可以通过拖拽组件、调整大小和位置等方式来完成界面的搭建。

同时,我们也可以手动编辑XML文件,以更精细地控制界面的样式和布局。

五、数据获取作为一个电影推荐小程序,我们需要获取电影的相关数据,以便进行推荐。

我们可以从互联网上的电影数据库中获取数据,其中一种常用的数据来源是通过API接口获取。

通过编写Java代码,我们可以使用HTTP请求和JSON解析等技术,从API接口中获取电影信息,并将其展示在应用界面上。

六、推荐算法为了实现电影的个性化推荐,我们需要设计一个推荐算法来分析用户的兴趣和观影历史。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1,编写程序,判断给定的某个年份是否是闰年。

闰年的判断规则如下:(1)若某个年份能被4整除但不能被100整除,则是闰年。

(2)若某个年份能被400整除,则也是闰年。

import java.util.Scanner;class Bissextile{public static void main(String[] arge){System.out.print("请输入年份");int year; //定义输入的年份名字为“year”Scanner scanner = new Scanner(System.in);year = scanner.nextInt();if (year<0||year>3000){System.out.println("年份有误,程序退出!");System.exit(0);}if ((year%4==0)&&(year%100!=0)||(year%400==0))System.out.println(year+" is bissextile");elseSystem.out.println(year+" is not bissextile ");}}2,给定一个百分制的分数,输出相应的等级。

90分以上A级80~89 B级70~79 C级60~69 D级60分以下E级import java.util.Scanner;class Mark{public static void main(String[] args){System.out.println("请输入一个分数");//定义输入的分数为“mark”,且分数会有小数double mark;Scanner scanner = new Scanner(System.in);mark = scanner.nextDouble();//判断是否有输入错误。

if(mark<0||mark>100){System.out.println("输入有误!");System.exit(0);}/*判断分数的等级90分以上者A级,80~89分者B级,70~79分者C级,60~69者D级,60分以下E级*/if (mark>=90) System.out.println("this mark is grade \'A\' ");else if (mark>=80) System.out.println("this mark is grade \'B\' ");else if (mark>=70) System.out.println("this mark is grade \'C\' ");else if (mark>=60) System.out.println("this mark is grade \'D\' ");else System.out.println("this mark is grade \'E\' ");}}3,编写程序求1+3+5+7+……+99 的和值。

class he{public static void main(String[] args){int number = 1; //初始值1,以后再+2递增上去int sum = 0;for ( ; number <100; number+=2 ){ sum += number; }System.out.println("1+3+5+7+……+99= " +sum);}}4、利用for循环打印9*9 表?1*1=11*2=2 2*2=41*3=3 2*3=6 3*3=91*4=4 2*4=8 3*4=12 4*4=161*5=5 2*5=10 3*5=15 4*5=20 5*5=251*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=361*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=491*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=641*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81//循环嵌套,打印九九乘法表public class NineNine{public static void main(String[]args){System.out.println();for (int j=1;j<10;j++){for(int k=1;k<10;k++) { //老师的做法,判断语句里的k<=j,省去下列的if语句。

if (k>j) break; //此处用continue也可以,只是效率低一点System.out.print(" "+k+"X"+j+"="+j*k);}System.out.println();}}}6、输出所有的水仙花数,把谓水仙花数是指一个数3位数,其各各位数字立方和等于其本身,例如:153 = 1*1*1 + 3*3*3 + 5*5*5class DafodilNumber{public static void main(String[] args){System.out.println("以下是所有的水仙花数");int number = 100; // 由于水仙花数是三位数,故由100开始算起int i, j, k; // i j k 分别为number 的百位、十位、个位for (int sum; number<1000; number++){i=number/100; j=(number-i*100)/10; k=number-i*100-j*10;sum=i*i*i+j*j*j+k*k*k;if (sum==number) System.out.println(number+" is a dafodil number! ");}}}7、求a+aa+aaa+.......+aaaaaaaaa=?其中a为1至9之中的一个数,项数也要可以指定。

import java.util.Scanner;class Multinomial{public static void main(String[] args){int a; //定义输入的aint howMany; //定义最后的一项有多少个数字Scanner scanner = new Scanner(System.in);System.out.println("请输入一个1~9 的a 值");a = scanner.nextInt();System.out.println("请问要相加多少项?");howMany = scanner.nextInt();int sum=0;int a1=a; // 用来保存a 的初始值for (int i=1; i<=howMany; i++){sum+= a;a = 10*a +a1; // 这表示a 的下一项// 每次a 的下一项都等于前一项*10,再加上刚输入时的 a ;注意,这时的 a 已经变化了。

}System.out.println("sum="+sum);}}8、求2/1+3/2+5/3+8/5+13/8.....前20项之和?class Sum{public static void main(Sting[] args){double sum=0;double fenZi=2.0, fenMu=1.0; //初始的分子(fenZi)=2,分母(fenMu)=1for(int i=1; i<=20; i++){sum += fenZi / fenMu ;fenMu = fenZi; //下一项的分母=上一项的分子fenZi += fenMu; //下一项的分子=上一项的分子加分母}System.out.println("sum= "sum);}}9、利用程序输出如下图形:** * ** * * * ** * * * * * ** * * * ** * **class Asterisk{public static void main(String[] args){for (int i=1; i<=13; i+=2){for(int j=1; j<=i && i+j<= 14; j++){System.out.print("* ");}System.out.println(); // 换行}}}11、计算圆周率PI=4-4/3+4/5-4/7.......打印出第一个大于3.1415小于3.1416的值class Pi {public static void main(String[] args){double pi =0; //定义初始值double fenZi = 4; //分子为4double fenMu = 1; //第一个4,可看作分母为1 的分式,以后的分母每次递增2for (int i = 0; i < 1000000000; i++){ //运行老久,减少循环次数会快很多,只是精确度小些pi += (fenZi/fenMu) ;fenZi *= -1.0; //每项分子的变化是+4,-4,+4,-4 ....fenMu += 2.0; //分母的变化是1,3,5,7,.... 每项递加2}System.out.println(pi);}}输出结果为pi = 3.1415926525880504,应该不精确12、输入一个数据n,计算斐波那契数列(Fibonacci)的第n个值1 123 5 8 13 21 34规律:一个数等于前两个数之和//计算斐波那契数列(Fibonacci)的第n个值public class Fibonacci{public static void main(String args[]){int n = Integer.parseInt(args[0]);int n1 = 1;//第一个数int n2 = 1;//第二个数int sum = 0;//和if(n<=0){System.out.println("参数错误!");return;}if(n<=2){sum = 1;}else{for(int i=3;i<=n;i++){sum = n1+n2;n1 = n2;n2 = sum;}}System.out.println(sum);}}//计算斐波那契数列(Fibonacci)的第n个值//并把整个数列打印出来public class FibonacciPrint{public static void main(String args[]){int n = Integer.parseInt(args[0]);FibonacciPrint t = new FibonacciPrint();for(int i=1;i<=n;i++){t.print(i);}}public void print(int n){int n1 = 1;//第一个数int n2 = 1;//第二个数int sum = 0;//和if(n<=0){System.out.println("参数错误!");return;}if(n<=2){sum = 1;}else{for(int i=3;i<=n;i++){sum = n1+n2;n1 = n2;n2 = sum;}}System.out.println(sum);}}13、求1-1/3+1/5-1/7+1/9......的值。

相关文档
最新文档