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

             最近在学习中,做了一个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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/493695.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【2018第五届世界互联网大会】世界互联网领先科技成果发布:带你看看这15项“黑科技”...

世界互联网领先科技成果发布现场。来源&#xff1a;央视网11月7日&#xff0c;第五届世界互联网大会“世界互联网领先科技成果发布活动”在浙江乌镇举行。这是世界互联网大会第三次面向全球发布领先科技成果。发布活动由中国工程院院士、中国互联网协会理事长邬贺铨主持&#x…

利用caffe的python接口实现DeepImageSynthesis实例

在之前实现faster rcnn的博客中&#xff0c;先是配置了caffe的python接口&#xff0c;但是在验证的时候用DeepTexture的实例没有成功。改用pycharm而不是jupyter notebook再试一试&#xff0c;毕竟在IDE中更好调试。 新建工程&#xff0c;选择anaconda2作为解释器&#xff0c;因…

SecureCRT

SecureCRT是一款支持SSH&#xff08;SSH1和SSH2&#xff09;的终端仿真程序 在内部使用的一些命令 #从本地上传文件 rz -e#从远端下载文件 sz -e 转载于:https://www.cnblogs.com/cfox/p/3430217.html

深度:语音技术革命正在改变人类的交流方式

来源&#xff1a;资本实验室语言是我们日常交流的主要方式&#xff0c;可以让我们快速了解对方的意图&#xff0c;并做出适当的反应。但对很多语言障碍者而言&#xff0c;说话这一看似简单的行为依旧是难以想象的困难。语言是件极其复杂的事情&#xff0c;不仅仅是文字表面上的…

李航《统计学习方法》---感知机

这一章就讲了感知机。我觉得是深受工业革命的影响&#xff0c;把一些可以实现功能的基本单元都喜欢叫做什么机&#xff0c;这里的感知机&#xff0c;还有后来的以感知机为基础的支持向量机。直接看定义&#xff0c;看本质&#xff0c;实际上&#xff0c;感知机是一种线性分类模…

kendo grid输入框验证方法

$("#grid").kendoGrid({ dataSource: dataSrc, //toolbar: ["save", "取消"], columns: [ { width: 70, title: "请购承办", template: # ""ask_man"" # }, { width: 70, title: "联系方式", template:…

5G 对无线通讯芯片产业链的影响

来源&#xff1a;乐晴智库精选▌无线通信芯片概要:未来五年增速放缓&#xff0c;射频前端成为主要驱动力在智能手机普及的带动下&#xff0c;2012-2017五年无线通信芯片实现9.7%的复合增长率&#xff0c;根据iHS的数据&#xff0c;2017年市场规模达到1,322亿美金&#xff0c;占…

图像极坐标变换的研究

做图像配准的时候&#xff0c;发现图像进行旋转的情况下的配准有一些特殊。于是想到可以用极坐标进行配准。查了一下资料&#xff0c;发现大家用的更多的是对数极坐标Log Polar。 笛卡尔坐标系和极坐标系 先来说一下我们常用的笛卡尔坐标。X轴水平向右是正方向&#xff0c;y轴垂…

刚刚、Gartner发布物联网技术十大战略和趋势

来源&#xff1a;网络大数据Gartner的研究副总裁尼克•琼斯(Nick Jones)说&#xff1a;“物联网将在未来十年继续为数字化业务创新带来新的机遇&#xff0c;而许多新机遇有赖于新的或经过改进的技术。洞察创新物联网趋势的CIO们有机会领导本企业的数字化创新。”此外&#xff0…

图像的旋转和尺度缩放在对数极坐标系下的研究

首先来看一张特殊的同心圆图像及其极坐标变换&#xff1a;这是我自己在opencv下用cvLogPolar函数做的实验&#xff1a;极坐标原点选择在同心圆圆心时&#xff0c;同一个圆上的点到圆心的距离相等&#xff0c;所以映射在极坐标中应该是一组垂直于极轴的平行线。在自己的实验中因…

李航《统计学习方法》-----支持向量机

书中第七章才是支持向量机SVM&#xff0c;但在SVM与感知机有相似的地方&#xff0c;看了感知机的知识之后趁热先看看SVM。 首先回顾一下感知机。感知机的模型是线性分类模型&#xff0c;将两种类别标记为正负1&#xff0c;将新的样本输入线性函数&#xff0c;再将线性函数代入符…

乌镇互联网大会发布15项世界领先科技成果

来源&#xff1a;中央广电总台央视新闻客户端11月7日下午&#xff0c;第五届世界互联网大会“世界互联网领先科技成果发布活动”在乌镇互联网国际会展中心举行。大会共现场发布了15项世界互联网领域领先的“黑科技”&#xff0c;引得观众阵阵惊叹。15项世界互联网领先科技成果&…

PHP 魔术方法__set() __get() 方法详解

__set() is run when writing data to inaccessible properties. __get() is utilized for reading data from inaccessible properties. 究竟用中文怎么翻译呢&#xff1f; inaccessible &#xff1a;n. 难达到&#xff1b;难接近&#xff1b;无法理解。 有代码有真相&#xf…

OpenCV中的傅里叶的门道

接触到傅里叶-梅林算法&#xff0c;需要用到傅里叶变换&#xff0c;于是去查了一下OpenCV中的实现方法&#xff0c;没想到习以为常的傅里叶变换之中的门道还不少。 //傅里叶变换https://blog.csdn.net/keith_bb/article/details/53389819Mat I imread("Lena.jpg", I…

Science:人类迎来目前最为全面的癌症染色质可及性图谱

来源&#xff1a;吴晓波频道摘要&#xff1a;肿瘤在世界范围内导致人类死亡的首要原因之一&#xff0c;尤其是随着医疗水平的发展&#xff0c;人类的寿命的不断延长&#xff0c;癌症逐渐成为威胁人类健康的首要因素。肿瘤在世界范围内导致人类死亡的首要原因之一&#xff0c;尤…

傅里叶变换频谱的可视化保存

在上一篇关于傅里叶变换的博客中&#xff0c;知道了imshow的一个小trick&#xff1a;对normalize得到的0~1之间的浮点数构成的矩阵会进行放大255的操作&#xff0c;得到可视化的灰度图。即便是在python中也是如此操作的&#xff0c;只不过python中的函数封装得更加严密&#xf…

【MySQL学习笔记006】MySQL中的常见函数

1、字符串函数 常见的字符串函数 函数功能concat(S1, S2, ..., Sn)字符串拼接Lower(str)将字符串str全部转为小写Upper(str)将字符串str全部转为大写Lpad(str, n, pad)左填充&#xff0c;用字符串pad对str的左边进行填充&#xff0c;达到n个字符串长度Rpad(str, n, pad)右填充…

她取代马斯克成特斯拉新董事长 究竟什么来头?

来源&#xff1a;智车科技摘要&#xff1a;就如乔布斯之于苹果&#xff0c;对很多人来说&#xff0c;马斯克对特斯拉而言也有非凡的意义。甚至可以说&#xff0c;特斯拉的品牌吸引力很大程度上来自于“钢铁侠”本人。但由于当初任性发布“私有化”消息&#xff0c;被美国证交会…

十二天深入理解计算机系统(一)

计算机系统漫游 1 信息就是位上下文 系统中所有的信息都是由一串位表示的&#xff0c;在不同的上下文中&#xff0c;一个同样的字节序列可能表示一个整数、浮点数、字符串或者机器指令。 2 文本文件和二进制文件 有ASCII字符构成的文件称为文本文件&#xff0c;所有其他文件都是…

李航《统计学习方法》-----朴素贝叶斯

朴素贝叶斯法nave Bayes&#xff0c;在nave的中间字母上其实有两个点&#xff0c;查了一下才发现是法语中的分音符&#xff0c;在发音过程中发挥作用。但这不是重要的&#xff0c;重要的是在这种学习方法中贝叶斯承担了什么样的角色。 首先简单证明一下贝叶斯公式。联合概率Joi…