最近在学习中,做了一个java的几个案例,主要是九九乘法口诀,实心菱形和空心菱形的算法,模拟彩票程序以及BMI的测试标准等小案例。

一:九九乘法表

/*** 九九乘法口诀*/public static void main(String[] args) {int sum = 0; // sum是乘法的结果for (int i = 1; i <= 9; i++) {for (int n = 1; n <= i; n++) {sum = i * n;System.out.print(n+"*"+i+"="+sum+"\t");}System.out.println("\n");}}

二:空心菱形和实心菱形

/*** 输出的实心菱形和空心菱形的算法*/public static void main(String[] args) {int hangshu = 11;  int yiban = hangshu / 2 + 1;  int yibanduo = hangshu / 2;  System.out.println("空心菱形:");  for(int k = 1;k <= yiban;k++){  for(int i = 1;i <= (yiban - k);i++){  System.out.print(" ");  }  System.out.print("*");  for(int i = 1;i <= ( (k - 2) * 2 + 1);i++){  System.out.print(" ");  }  if(k != 1){  System.out.print("*");    }  System.out.println();  }  for(int k = yibanduo;k >=1;k--){  for(int i = 1;i <= (yiban - k);i++){  System.out.print(" ");  }  System.out.print("*");  for(int i = 1;i <= ( (k - 2) * 2 + 1);i++){  System.out.print(" ");  }  if(k != 1){  System.out.print("*");    }  System.out.println();  }  System.out.println("实心菱形:");  for(int i = 1;i <= hangshu;i++){  if(i <= hangshu/2 + 1){  for(int k = 1;k <= hangshu/2 + 1- i;k++){  System.out.print(" ");  }  for(int k = 1;k <= i;k++){  System.out.print("* ");  }  System.out.println();  }else{  for(int k =1;k <= (i -(hangshu/2 + 1));k++){  System.out.print(" ");  }  for(int k = 1;k <= (2 *(hangshu/2 + 1) - i);k++){  System.out.print("* ");  }  System.out.println();  }     }  }

三 :BMI的测试标准

import java.io.*;
public class WeightTest  {/*测试你的体重的标准BMI的测试标准 标准体重:22* 身高的平方(米)体重指数:体重公斤/身高的平方正常体重:体重指数18-25超重    :体重指数25-30轻度肥胖:体重指数>30中度肥胖:体重指数>35重度肥胖: 体重指数>40*//* testWeight 封装了BMI测试的方法 */public void testWeight() throws IOException{/* 获得输入的体重,身高 */InputStreamReader ist = new InputStreamReader(System.in);BufferedReader br = new BufferedReader(ist);//创建字符流对x象System.out.println("请输入体重(单位公斤)");String w = br.readLine();//读取体重System.out.println("请输入身高(单位为米)");String h = br.readLine();//读取身高/* 把从键盘输入的身高转换成double类型*/double weight = Double.parseDouble(w);double high  =  Double.parseDouble(h);/*计算对应的标准体重和体重指数*/double nomalWeight = 22 * high * high;//计算对应的标准体重double BMI = weight/(high*high);//体重指数System.out.println("你身高对应的标准体重是"+nomalWeight+"\n");System.out.println("你的体重指数"+BMI+"\n");/* 你的体重标准*/if(BMI>=18&&BMI<=25.0)System.out.println("你的体重很标准,继续保持!"+"\n");else if(BMI>25&&BMI<=30)System.out.println("你的体重有点超重,请注意哦!"+"\n");else if (BMI>30&&BMI<=35)System.out.println("你的体重有点轻度肥胖,应该注意锻炼身体哦!"+"\n");else if (BMI>35&&BMI<=40)System.out.println("你的体重有点中度肥胖,要经常锻炼身体哦!"+"\n");else if (BMI>40)System.out.println("你的体重有点重度肥胖,应该加强锻炼身体哦!"+"\n");else System.out.println("没有可靠的数据,请确认数据是否正确!"+"\n");}/* testContinue 判断是否继续执行程序*/public boolean testContinue() throws IOException{InputStreamReader ist = new InputStreamReader(System.in);BufferedReader br = new BufferedReader(ist);//创建字符流对x象String result = null; //用来获取result来的对象boolean bool = false;while(true){System.out.println("是否继续测试你的体重指数(yes/no)");result = br.readLine();  if(result.equalsIgnoreCase("yes")){  bool = true;break;}else if(result.equalsIgnoreCase("no")){bool = false;break ;}else{System.out.println("输入的数据只能是yes/no,请重新输入!");continue;}}return bool ;}public static void main(String[] args) throws IOException{        boolean boole = false;//创建boolean对象,判断是否执行语句!WeightTest wt = new WeightTest();//创建WeightTest对象//执行测试体重do{wt.testWeight();boole = wt.testContinue();}while(boole);System.out.println("谢谢你的使用,祝福你天天有一个好心情!");}
}

在这个程序中可以多次循环来测试多人的体重指数,但是在循环语句编写时有点繁琐,其实可以使用递归的算法来解决。在这里就不在编写了。来通过下面的那个例子来看一下递归的使用

四 :模拟彩票程序

import java.util.Scanner;public class LotterTickerTest {/*** 这个程序主要实现了的是模拟随机彩票的程序。它可以选择从35位整数中选择六位* 数字为一组数字。首先在先从键盘输入1-5的数字,确定产生的随机数字。从35位* 数中产生6为数字,存放在数组中。数组可以存放相同类型的数据。*/public static void main(String[] args) {int number = 0;Scanner input = new Scanner(System.in);System.out.println("请输入一个数字1-5"); String s = input.next();number = Integer.parseInt(s);//把输入的数字转换成int类型的if(number<=5){int m = 0 ;//初始化彩票输入的次数int a[] = new int[6];//创建一个一个长度为6的数组for(int i = 0;i<number;i++){m= m+1 ;//第一次随机的产生的彩票数字/** n 代表的是 数组的下标*/for(int n= 0;n<6;n++){a[n]= (int)(Math.random()*35+1);//进行随机产生35以内的数字,存在数组中//如果产生的数字相同,则i-1,重新选择数据 for(int j = 0 ;j<n;j++){if(a[n]==a[j]){n--;continue;}}}//在第一次产生的彩票号码之前打出号码if(m==1)System.out.println("35选6的号码是:");else System.out.println("");//循环遍历彩票的号码for(int k = 0 ;k<6;k++){System.out.print(a[k]+"\t");}}}else{System.out.println("输入的数字超出范围,请重新输入!");}}}

下面的这个程序主要有递归的使用,主要用于输入时的数字超出范围。在下面的会重点标出。

import java.util.Scanner;public class LotterTickerTest {/*** 这个程序主要实现了的是模拟随机彩票的程序。它可以选择从35位整数中选择六位* 数字为一组数字。首先在先从键盘输入1-5的数字,确定产生的随机数字。从35位* 数中产生6为数字,存放在数组中。数组可以存放相同类型的数据。*/public void randomTest(){int number = 0;Scanner input = new Scanner(System.in);System.out.println("请输入一个数字1-5"); String s = input.next();number = Integer.parseInt(s);//把输入的数字转换成int类型的if(number<=5){int m = 0 ;//初始化彩票输入的次数int a[] = new int[6];//创建一个一个长度为6的数组for(int i = 0;i<number;i++){m= m+1 ;//第一次随机的产生的彩票数字/** n 代表的是 数组的下标*/for(int n= 0;n<6;n++){a[n]= (int)(Math.random()*35+1);//进行随机产生35以内的数字,存在数组中//如果产生的数字相同,则i-1,重新选择数据 for(int j = 0 ;j<n;j++){if(a[n]==a[j]){n--;continue;}}}//在第一次产生的彩票号码之前打出号码if(m==1)System.out.println("35选6的号码是:");else System.out.println("");//循环遍历彩票的号码for(int k = 0 ;k<6;k++){System.out.print(a[k]+"\t");}}}else{System.out.println("输入的数字超出范围,请重新输入!");randomTest();}}public static void main(String[] args) {LotterTickerTest lt = new LotterTickerTest();lt.randomTest();}}

转载于:https://www.cnblogs.com/pangblog/p/3424056.html

java的关于流程结构做的几个案例相关推荐

  1. 小汤学编程之JAVA基础day04——流程结构

    一.认识流程图 二.顺序结构 三.选择结构 四.循环结构 五.扩展&代码块的概念 一.认识流程图 二.顺序结构 体现在程序进入某个方法后,从上到下没有分支的顺序执行. 三.选择结构 1.if选 ...

  2. Java核心技术卷阅读随笔--第3章【Java 的基本程序设计结构】

    3.1 一个简单的Java应用程序 下面看一个最简单的 Java 应用程序,它只发送一条消息到控制台窗口中: 复制代码 public class FirstSample { public static ...

  3. Java SE 控制流程(今天本君不早朝)

    Java的控制流程结构与C和C++的控制流程结构一样,只有很少的例外. 具体参考<<java核心技术 卷一>> 第三章 3.8 控制流程 (p63) 或者自己多写写代码,参考报 ...

  4. 4、java中的流程控制(程序结构)

            说一下java的流程控制(程序结构),其实对于计算机而言,无非就那几类执行流程(程序结构),程序从头到尾依次执行每一行代码,这就是顺序结构:也可能在执行过程中遇到条件判断,造成程序运行 ...

  5. 【Java程序设计】流程控制

    流程控制 文章目录 流程控制 一.块作用域 二.条件语句 1.单分支 if 语句 2.双分支 if-else 语句 3.嵌套 if 语句 4.多分支 if-else if 语句 5.switch 语句 ...

  6. 吃透Java并发:AQS结构详解及其CLH变种、CLH、MCS

    目录 1.前言 2.AQS的构成 2.1 状态信息state 2.2 节点信息Node 2.3 阻塞/唤醒 2.4 当前持有锁线程 2.5 头结点与尾节点 3.CLH队列 3.1 CLH锁 3.2 M ...

  7. 简述如何编写java程序_1-4 简述 Eclipse 编写 Java 程序的流程。_学小易找答案

    [填空题]三四年级是英语入门初学阶段,更加注重( ). [单选题]不属于pos终端收银机的基本构成是( ). A . 显示器 B . 小票打印机 C . 键盘 D . 条形码电子称 [单选题]( ) ...

  8. Java学习day03-选择结构与循环结构

    选择结构与循环结构 今日目标: 1.程序的流程结构 2.认识流程图 3.复杂条件的if选择结构 4.if-else结构 5.多重if选择结构 6.嵌套if选择结构 7.switch的用法 8.代码块 ...

  9. JAVA学习脚印3: java语言控制流程

    JAVA学习脚印3: java语言控制流程 本节首先介绍,java语言中的字符串处理以及输入输出控制,最后介绍控制流程. 在讲述控制流程之前,先介绍以下java中字符串和输入输出的内容,以便后续练习编 ...

最新文章

  1. java jvm学习笔记二(类装载器的体系结构)
  2. IDNO简单生成方法
  3. 4000+系统,10w+服务的立体式监控是如何炼成的?
  4. 【BZOJ-3156】防御准备 DP + 斜率优化
  5. Swif语法基础 要点归纳(一)
  6. junit 参数化测试用例_JUnit:在参数化测试中命名单个测试用例
  7. 计算机网络四级题库word,计算机四级考试题库2016
  8. python非法变量名_python – DatabaseError:ORA-01036:非法变量名称/编号
  9. unix和linux命令_Linux / UNIX中的cp命令
  10. Linux设备模型初始化流程
  11. [管理]鼎捷软件售后服务体验
  12. SPSS实现单样本t检验
  13. java web基础视频教程_java web开发入门视频教程
  14. 灵感分享|10个优秀网站设计实例赏析及原型分享
  15. Linux ubuntu 装openCV,Linux(ubuntu 16.04) 安装 opencv C++
  16. 如何加强水电站班组安全建设?
  17. 2022最新软件测试面试题(含答案)
  18. 数仓分层的意义及通用设计
  19. linux安装php漏洞补丁教程,LAAP Linux+Apache+Mysql(AliSQL)+PHP安装教程
  20. 牛客OI周赛7-提高组 B小睿睿的询问(ST打表)

热门文章

  1. React ref的转发
  2. TensorFlow 2.0 - Hub 模型复用
  3. LeetCode 935. 骑士拨号器(动态规划)
  4. LeetCode 539. 最小时间差(哈希)
  5. LeetCode 1161. 最大层内元素和(层序遍历)
  6. java socket tomcat_在Tomcat环境下使用socket通信
  7. 100篇论文串讲对话系统前世今生
  8. 架构师进阶之独孤九剑:设计模式详解
  9. 论文浅尝 | Data Intelligence 已出版的知识图谱主题论文
  10. 李涓子 | 机器智能加速器:大数据环境下知识工程的机遇和挑战