原标题:12个用Java编写基础小程序&经典案例(收藏篇)

如果是刚接触或者刚学习java,练习一些基础的算法还是必须的,可以提升思维和语法的使用。

1、输出两个int数中的最大值

import java.util.Scanner;

public class demo {

public static void main(String[] args) {

Scanner scanner = new Scanner(System.in);

System.out.println("请依次输入两个整数:a,b(以空格隔开)");

/*比较两个数的大小*/

int a = scanner.nextInt();

int b = scanner.nextInt();

int max;

if(a >= b){

max = a;

}else {

max = b;

}

System.out.println("最大值为"+max);

}

}

}

2、输出三个int数中的最大值

package demo;

import java.util.Scanner;

public class demo {

public static void main(String[] args) {

Scanner scanner = new Scanner(System.in);

System.out.println("请依次输入两个整数:a,b(以空格隔开)");

int a = scanner.nextInt();

int b = scanner.nextInt();

int c = scanner.nextInt();

scanner.close();

/*方法一*/

int d=(a>b)?a:b;

int e=(d>c)?d:c;

System.out.println("最大值为"+e);

/*方法二*/

if(a>b && a>c){

System.out.println("最大值为"+a);

}else if(b>c && b>a){

System.out.println("最大值为"+b);

}else if(c>b && c>a){

System.out.println("最大值为"+c);

}else{

System.out.println("出现异常");

}

}

}

3、编写程序判断某一个年份是否是闰年

package demo;

import java.util.Scanner;

/*判断闰年

由用户输入任意一个年份,能被4整除但不能被100整除,或者能被400整除,是闰年。

要求判断一个年份是否为闰年。

要求输出:此年份是否是闰年

*/

public class demo {

public static void main(String[] args) {

Scanner scanner = new Scanner(System.in);

System.out.println("请输入年份:");

int year = scanner.nextInt();

/*方法一*/

if((year % 4 ==0 && year % 100 !=0) || year%400 ==0){

System.out.println("这个年份是闰年");

}else{

System.out.println("这个年份不是闰年");

}

/*方法二*/

boolean isLeapYear = (year % 4 ==0 && year % 100 !=0) || year%400 ==0;

String string = isLeapYear?year+"是闰年":year+"不是闰年";

System.out.println(string);

}

}

4、完成成绩等级输出程序

如果用户输入的分数正确(0-100),则根据表-1中的规则计算该分数所对应的的级别,并计算结果。

package demo;

import java.util.Scanner;

/*

* 成绩等级划分表

* >= 90 A

* >=80 B

* >=60 C

* <60 D

*

* 分数范围:0-100

*

* 需要有2个判断*/

public class demo {

public static void main(String[] args) {

Scanner scanner = new Scanner(System.in);

System.out.println("请输入分数:");

double score = scanner.nextDouble();

scanner.close();

if(score < 0 || score >100){

System.out.println("输入的分数不在0-100之间,不符合要求");

}else if(score >= 90){

System.out.println("A");

}else if(score >= 80){

System.out.println("B");

}else if(score >= 60){

System.out.println("C");

}else{

System.out.println("D");

}

}

}

5、完成命令解析程序

问题:有一个命令解析程序,该程序提供三个功能选型供用户选择,用户选择某功能后,程序在界面上输出用户所选择的的功能名称。程序的交互如图:

package demo;

import java.util.Scanner;

/*

* 有一个命令解析程序,该程序提供三个功能选型供用户选择,

* 用户选择某功能后,程序在界面上输出用户所选择的的功能名称。

*

* */

public class demo {

public static void main(String[] args) {

Scanner scanner = new Scanner(System.in);

System.out.println("请选择功能:1.显示全部记录 2.查询登录记录 0.退出");

int command = scanner.nextInt();

scanner.close();

switch (command) {

case 0:

System.out.println("欢迎使用");

break;

case 1:

System.out.println("显示全部记录……");

break;

case 2:

System.out.println("查询登录记录……");

break;

default:

System.out.println("输入错误!");

}

}

}

6、完成收银柜台收款程序

编写一个收银柜台收款程序。根据单价、购买数量以及收款进行计算并输出应收金额和找零;当总价大于或者等于500,享受8折优惠。控制台交互如下:

package demo;

import java.util.Scanner;

/*

* 需求:

* 编写一个收银柜台收款程序。根据单价、购买数量以及收款进行计算并输出应收金额和找零;

* 当总价大于或者等于500,享受8折优惠。

*

*/

public class demo {

public static void main(String[] args) {

Scanner scanner = new Scanner(System.in);

System.out.println("请输入单价(¥):");

double price = scanner.nextDouble();

System.out.println("请输入数量:");

double amount = scanner.nextDouble();

System.out.println("请输入收款金额:");

double count = scanner.nextDouble();

double totalMoney = price*amount;

if(totalMoney > 500){

totalMoney = totalMoney*0.8;

}

double change = count - totalMoney;

System.out.println("应收金额为:"+totalMoney + "找零为:"+change);

}

}

7、java从键盘输入三个整数,实现从小到大排序

package demo;

import java.util.Scanner;

/*

* java从键盘输入三个整数,实现从小到大排序

*

**/

public class demo {

public static void main(String[] args) {

Scanner scanner = new Scanner(System.in);

System.out.println("请输入三个整数,以空格隔开:");

int a = scanner.nextInt();

int b = scanner.nextInt();

int c = scanner.nextInt();

scanner.close();

System.out.println("输入的值为:a = " + a + ", b = " + b + ", c = " + c);

if(a > b){

if ( b > c) {

System.out.println("排序后的值为:" + c + "," + b + "," + a);

}else if( c > a){

System.out.println("排序后的值为:" + b + "," + a + "," + c);

}else{

System.out.println("排序后的值为:" + b + "," + a + "," + c);

}

}else{

if(c < a){

System.out.println("排序后的值为:" + c + "," + a + "," + b);

}else if(c > b){

System.out.println("排序后的值为:" + a + "," + b + "," + c);

}else{

System.out.println("排序后的值为:"+ a + "," + c + "," + b);

}

}

}

}

8、计算个人所得税

北京地区的个人所得税计算公式:

纳税额 = (工资薪金所得 - 扣除数)*适用税率 - 速算扣除数

其中,扣除数为3500,适用税率以及速算扣除数如下表所示:

package demo;

import java.util.Scanner;

/*

* 北京地区的个人所得税计算公式:

应纳税额 = (工资薪金所得 - 扣除数)*适用税率 - 速算扣除数

其中,扣除数为3500

*/

public class demo {

public static void main(String[] args) {

Scanner scanner = new Scanner(System.in);

System.out.println("请输入你的税前工资:");

int salaryBeforeTax = scanner.nextInt();

scanner.close();

int taxSalary = salaryBeforeTax - 3500;

double tax;

/*方法一*/

tax = taxSalary<0?0.0:

taxSalary<=1500?taxSalary*0.03:

taxSalary<=4500?taxSalary*0.1-105:

taxSalary<=9000?taxSalary*0.2-555:

taxSalary<=35000?taxSalary*0.25-1005:

taxSalary<=55000?taxSalary*0.3-2755:

taxSalary<=80000?taxSalary*0.35-5505:

taxSalary*0.45-13505;

System.out.println("个人应缴纳税款为:"+tax);

/*方法二*/

if( taxSalary < 0 ){

tax = 0;

}else if( taxSalary <= 1500){

tax = taxSalary*0.03;

}else if( taxSalary <= 4500){

tax = taxSalary*0.1-105;

}else if( taxSalary <= 9000){

tax = taxSalary*0.2-555;

}else if( taxSalary <= 35000){

tax = taxSalary*0.25-1005;

}else if( taxSalary <= 55000){

tax = taxSalary*0.3-2755;

}else if( taxSalary <= 80000){

tax = taxSalary*0.35-5505;

}else{

tax = taxSalary*0.45-13505;

}

System.out.println("个人应缴纳税款为:"+tax);

}

}

9、输入年份和月份,输出天数

package demo;

import java.util.Scanner;

/*

提示:

1.需要判断是否是闰年,2月份的天数跟是否是闰年有关系;

2.用switch-case判断每个月的天数

*/

public class demo{

public static void main(String[] args) {

Scanner scanner = new Scanner(System.in);

System.out.println("请输入年份:");

int year = scanner.nextInt();

System.out.println("请输入月份:");

int month = scanner.nextInt();

int dayNum = theDayNum(month); //先根据月份得出天数,如果是闰年,对2月份的天数重新获取

if(isLeapYear(year)){

if(month == 2){

dayNum ++; //如果是闰年,2月份增加一天

}

System.out.print(year + "是闰年,");

}else{

System.out.print(year + "不是闰年,");

}

System.out.println(year + "年" + month + "月份共有" + dayNum + "天");

}

/*判断是否是闰年

* 能被4整除但不能被100整除,或者能被400整除,是闰年

*/

public static boolean isLeapYear(int year) {

if((year % 4 ==0 && year % 100 !=0) || year%400 ==0){

return true;

}else{

return false;

}

}

/*判断天数*/

public static int theDayNum(int month) {

switch (month) {

case 1:

return 31;

case 2:

return 28;

case 3:

return 31;

case 4:

return 30;

case 5:

return 31;

case 6:

return 30;

case 7:

return 31;

case 8:

return 31;

case 9:

return 30;

case 10:

return 31;

case 11:

return 30;

case 12:

return 31;

default:

System.out.println("对不起,您输入的月份有误!");

return 0;

}

}

}

10、输出九九乘法表

package demo;

/* author:wendy

* 问题:

* 直接输出九九乘法表

* */

public class demo {

public static void main(String[] args) {

//i变量用于控制行数

for(int i = 0; i <= 9; i++) {

//j变量用于控制每行中参与计算的数值

for(int j = 1; j <= i; j++) {

System.out.print(j + "*" + i + "=" + i*j + "\t");

}

//每行输出之后需要换行

System.out.println();

}

}

}

11、随机产生一个从0-100之间的整数,判断是否是质数

质数又称素数,是指在一个大于1的自然数中,除了1和此整数自身外,不能被其他自然数整除的数 。

package demo;

import java.util.Random;

public class primeNum {

public static void main(String[] args) {

int num;

Random random = new Random();

num = random.nextInt(100);

System.out.println("随机产生的数为:" + num);

System.out.println(isPrime(num));

}

public static boolean isPrime(int num) {

if(num < 2) {

return false;

}

if(num == 2) {

return true;

}

if(num % 2 == 0) {

return false;

}

for(int i = 3; i <= Math.sqrt(num); i += 2) {

if(num % i == 0) {

return false;

}

}

return true;

}

}

12、查找数组最小值,并将数组扩容成新数组

package demo;

import java.util.Arrays;

import java.util.Random;

/*

* author:wendy

* 问题:随机产生10个从0-100之间的整数,并查找最小值;

* 将该数组扩容成新数组,把最小值存在新数组的第一个位置。

* 步骤:

* 1.构造一个长度为10的数组,利用Random随机产生10个0-100之间的整数;

* 2.寻找最小值,利用for循环

* 3.扩容 利用Arrays.coprOf()构造新数组,将其长度设置为11

* 4.遍历新数组,从后往前遍历,以此赋值,然后将2中找到的最小值存在数组的第一个

* */

public class copyOf {

public static void main(String[] args) {

int [] arr = new int[10];

//随机产生10个 0-100之间的整数

Random random = new Random();

for(int i = 0; i < 10; i ++) {

arr[i] = random.nextInt(100);

}

//打印数组的内容

System.out.println("随机产生的数组为:" + Arrays.toString(arr));

//查找最小的值

int min = arr[0];

for(int j = 1; j < 10; j ++) {

if(min > arr[j]) {

min = arr[j];

}

}

System.out.println("该数组最小的值为:" + min);

//扩容,将最小值存在扩容之后的第一个

int [] newArr = Arrays.copyOf(arr, 11);

//从后往前遍历,将前面的值赋给后面的值,然后将第一个的值赋为最小值min

for(int k = newArr.length-1; k >=1; k --) {

newArr[k] = newArr[k-1];

}

//将第一个的值赋为最小值min

newArr[0] = min;

//打印数组的内容

System.out.println("扩容之后的数组为:"+ Arrays.toString(newArr));

}

}

最后,如果你跟我一样都喜欢java,想成为一名优秀的程序员,也在学习java的道路上奔跑,欢迎你加入java学习群:72030155 群内每天都会分享java最新业内资料,分享java免费课程,共同交流学习,让学习变(编)成(程)一种习惯!返回搜狐,查看更多

责任编辑:

java中的基本小程序_12个用Java编写基础小程序经典案例(收藏篇)相关推荐

  1. 微信小程序与本地数据库的进行基础数据交互的案例——使用Java后台

    微信小程序与本地数据库的进行基础数据交互的案例--使用Java后台 案例介绍 本地数据库储存用户信息表 后台Java访问数据库,获得需要数据 小程序端访问服务器 环境配置及需要的项目代码资源: 案例介 ...

  2. java中常量final的用法_详解Java中final的用法

    本文主要介绍了Java中final的使用方法,final是java的关键字,本文就详细说明一下它的使用方法,需要的朋友可以参考下 概念 final 具有"不可改变的"的含义,可以修 ...

  3. JAVA中两个char类型相加_1、JAVA中的几种基本类型,各占用多少字节?

    1.Java是一种强类型语言.这就意味着必须为每一个变量声明一种类型.在Java中,-共有8种基本类型,其中有4种整型.2种浮点类型.1种用于表示Unicode编码的字符单元的字符类型char和1种用 ...

  4. java中的多态性_[转载] c++多态与java多态性_Java中的多态性

    参考链接: Java中的加法和串联 c++多态与java多态性 Polymorphism is one of the core concepts of OOPS paradigm. The meani ...

  5. java中字输入输出异常_Java:详解Java中的异常(Error与Exception)

    一. 异常机制的概述 异常机制是指当程序出现错误后,程序如何处理.具体来说,异常机制提供了程序退出的安全通道.当出现错误后,程序执行的流程发生改变,程序的控制权转移到异常处理器. 程序错误分为三种:1 ...

  6. java直接调用复制文件,java中文件复制的4种方式,java文件的复制

    java中文件复制的4种方式,java文件的复制 今天一个同事问我文件复制的问题,他一个100M的文件复制的指定目录下竟然成了1G多,吓我一跳,后来看了他的代码发现是自己通过字节流复制的,定义的字节数 ...

  7. Java中的幂运算(幂函数):如何编写一个数的n次方?

    ** Java中的幂运算(幂函数):如何编写一个数的n次方? ** java.lang.Math类中的pow方法. 方法声明:Math.pow(double m, double n) 参数说明:m为要 ...

  8. 将一个数组中的值按逆序重新存放,编写C语言程序

    将一个数组中的值按逆序重新存放,编写C语言程序: #include<stdio.h> int main() { int a[5]={8,6,5,4,1},i,b[5]; for(i=0;i ...

  9. Java中方法签名signature、方法重载以及“两同两小一大”的方法覆盖(方法重写)总结

    1. 方法 1.1 方法 实现了某一功能,代码可以复用 1.2 方法签名 java中每个方法都有一个签名,包含方法名和参数列表(类型.个数以及顺序),只要其中一个不同,方法的签名不同,也就是属于不同的 ...

最新文章

  1. arm neon RGB转Gray的例子
  2. 太早发文章其实并不是一个好事情
  3. (实模式+保护模式)模式切换的过程步骤(代码+文字解析)
  4. java中关于length的真确理解~~~~有补充的请跟帖~~~
  5. java 实体类 时间格式字段注解
  6. 2017年云计算的六大趋势预测
  7. oracle数据库激活控制文件位置,Oracle数据库之Oracle 重建控制文件一例
  8. Affinity Publisher for Mac排版设计工具
  9. 跑步进入全站 HTTPS ,这些经验值得你看看
  10. Delphi中对URL进行编码和解码
  11. linux版本的火狐浏览器,火狐浏览器Linux版本
  12. 计算机无法访问iTunes,无法连接到iTunes Store解决方法介绍
  13. 【CodeForces 574B】Bear and Three Musketeers
  14. Magic value如何解决?
  15. java mousemotionadapter_MouseMotionAdapter 类
  16. wordpress,从本地建站开始
  17. 2022年宁德市职业院校教师实践教学能力提升培训——网络搭建与管理
  18. Java中SMB的相关应用
  19. 电脑启动不起来,英文提示Reboot and select proper boot device or Insert Boot Media in selected Boot
  20. BUUCTF 还原大师

热门文章

  1. 洛谷P5269 欧稳欧再次学车
  2. IQKeyboardManager 在iOS11导航栏消失的问题
  3. 所经历的大文件数据导出(后台执行,自动生成)
  4. ssh: Could not resolve hostname gitcafe.com: nodename nor servname provided, or not known
  5. POJ 1001 Exponentiation
  6. 基于消息队列的UDP并发服务器v1
  7. Python稳基修炼之计算机等级考试易错概念题6(含答案)
  8. 从零开始学前端:字体图标的引入 --- 今天你学习了吗?(CSS:Day18)
  9. 从零开始学前端:浮动 --- 今天你学习了吗?(CSS:Day15)
  10. python3 协程运行时 如何动态增加协程_python2.7 协程,如何调度运行两个协程?...