IF-ELSE嵌套练习
一,1,编写程序,由键盘输入三个整数分别存入变量num1,num2,num3中,对它们进行排序,使用if-else结构,并按从小到大的顺序输出:
package practice; import java.util.Scanner;
public class IfTest {
public static void main( String args[]) {
System.out.println("请输入第一个整数:");
Scanner scan =new Scanner(System.in);
int num1=scan.nextInt();
System.out.println("请输入第二个整数:");
int num2=scan.nextInt();
System.out.println("请输入第三个整数:");
int num3=scan.nextInt();
if(num1<num2) {
if(num3<num1) {
System.out.println(num3+","+num1+","+num2);
}else if(num3>num2) {
System.out.println(num1+","+num2+","+num3);
}else System.out.println(num1+","+num3+","+num2);
}
else {//num1>num2
if(num3>num1) {
System.out.println(num2+","+num1+","+num3);
}else if(num3<num2) {
System.out.println(num3+","+num2+","+num1);
}else System.out.println(num2+","+num3+","+num1);
}
} }
运行结果:

说明:IF-ELSE结构是可以相互嵌套的;
如果IF-ELSE结构中的执行语句只有一行时,对应的一对{}可以省去,但不建议这样做;
2,我家的狗五岁了,五岁的狗相当于人类的多少岁呢?其实,狗的前两年每一年相当于人的10.5岁,之后每增加一年就增加四岁。编写一个程序,获取用户输入的狗的年龄,通过程序显示其相当于人类的鸟年龄?如果用户输入负数,给出相应的提示。
import java.util.Scanner;
public class IfTest2 {
public static void main(String args[]) {
double t;
System.out.println("请输入狗的年龄:");
Scanner scan=new Scanner(System.in);
int dogAge=scan.nextInt();
if(dogAge>2) {
t= (dogAge-2)*4+21;
System.out.println(dogAge+"岁的狗相当于人类的"+t+"岁");
}else if(dogAge<=2&&dogAge>=0) {
t=dogAge*10.5;
System.out.println(dogAge+"岁的狗相当于人类的"+t+"岁");
}else {
System.out.println("您的输入有误,请重新输入");
}
}
}
运行结果:

二,整理Scanner键盘输入相关知识:
从键盘获取输入值的具体实现步骤:
- 导包:import java.util.Scanner;
- Scanner的实例化:Scanner scan=new Scanner(System.in);
- 调用Scanner类的相关方法,来获取指定类型的变量
scan.next();获取字符串
scan.nextInt();获取整型
scan.nextDouble();获取浮点型
scan.nextBoolean();获取布尔型
对于char型的获取,Scanner没有相应的方法,只能获取一个字符串;
如果非要获取char型,使用string里面的charAt()方法
import java.util.Scanner;
public class ScannerTest {
public static void main(String args[]) {
Scanner Scan=new Scanner(System.in);
System.out.println("请输入你的性别:");
String gender=Scan.next();
char genderchar=gender.charAt(0);
System.out.println(genderchar);
}
}
注意:需要根据相应的方法,来输入指定类型的值,如果输入的数据类型与要求的类型不匹配时,会抛出一个异常InputMisMatchException;(自动类型提升的除外)
IF-ELSE嵌套练习的更多相关文章
- angular2系列教程(十一)路由嵌套、路由生命周期、matrix URL notation
今天我们要讲的是ng2的路由的第二部分,包括路由嵌套.路由生命周期等知识点. 例子 例子仍然是上节课的例子:
- CRL快速开发框架系列教程十三(嵌套查询)
本系列目录 CRL快速开发框架系列教程一(Code First数据表不需再关心) CRL快速开发框架系列教程二(基于Lambda表达式查询) CRL快速开发框架系列教程三(更新数据) CRL快速开发框 ...
- ScrollView嵌套ListView,GridView数据加载不全问题的解决
我们大家都知道ListView,GridView加载数据项,如果数据项过多时,就会显示滚动条.ScrollView组件里面只能包含一个组件,当ScrollView里面嵌套listView,GridVi ...
- Android 中关于Fragment嵌套Fragment的问题
转载请注明出处:http://www.cnblogs.com/Joanna-Yan/p/5802146.html 问题描述: 在项目中Activity A中嵌套Fragment B,Fragment ...
- C#语句2——循环语句(for循环与for循环嵌套)
循环:反复执行某段代码. 循环四要素:初始条件,循环条件,循环体,状态改变. for(初始条件;循环条件;状态改变) { 循环体 } break ——中断循环,跳出整个循环 continue——停止本 ...
- C#用链式方法表达循环嵌套
情节故事得有情节,不喜欢情节的朋友可看第1版代码,然后直接跳至“三.想要链式写法” 一.起缘 故事缘于一位朋友的一道题: 朋友四人玩LOL游戏.第一局,分别选择位置:中单,上单,ADC,辅助:第二局新 ...
- SQL连接操作符介绍(循环嵌套, 哈希匹配和合并连接)
今天我将介绍在SQLServer 中的三种连接操作符类型,分别是:循环嵌套.哈希匹配和合并连接.主要对这三种连接的不同.复杂度用范例的形式一一介绍. 本文中使用了示例数据库AdventureWorks ...
- 关于对For循环嵌套优化的问题
1.案例描述 由于一次Java面试的笔试题,当时没有写出很好的解决方案,特此专门撰写一篇博客来加以记录,方便日后的查看 面试题目如下:从性能上优化如下代码并说明优化理由? for (int i = 0 ...
- 高级查询---嵌套and分页
高级嵌套语句: 子查询: 语句: select * from 表名 where 列名= ( 子查询语句 ) 注意:子查询语句必须放在小括号呢 可以使用< >=等运算符号,sql serve ...
- [LeetCode] Flatten Nested List Iterator 压平嵌套链表迭代器
Given a nested list of integers, implement an iterator to flatten it. Each element is either an inte ...
随机推荐
- 在github新建一个项目里需要哪些文件及作用
1.README.md文件 关于项目的介绍和使用方法. 2. .gitignore文件 上传项目时不需要传的文件,最常用的就是“node_modules/",如下: 详细的介绍可以去git ...
- HTML标签与属性
HTML中常用的一些标签和属性. 1.lang属性:搜索引擎 en:英文, zh:中文 2.meta:元数据 charset属性:字符集编码方式 3.h1~h6:标题 一级标题 ...
- 5.聚类算法k-means
聚类与分类的区别在于,是在没有给定划分类别的情况下,更具数据相似度进行样本分组的一种办法,是一种非监督的学习算法,聚类的输入时一组未被标记的样本,聚类更具数据自身的距离或者相似度将其划分为若干组,划分 ...
- Hedera: Dynamic Flow Scheduling for Data Center Networks
摘要: 当今的数据中心为成千上万台计算机的群集提供了巨大的聚合带宽, 但是即使在最高端的交换机中,端口密度也受到限制,因此数据中心拓扑通常由多根树组成,这些树在任何给定的主机对之间都具有许多等价路径. ...
- 智能指针之shared_ptr基本概述
1.shared_ptr允许有多个指针指向同一个对象,unique_ptr独占所指向的对象. 2.类似于vector,智能指针也是模板.创建智能指针: shared_ptr<string> ...
- Topcoder SRM 674 Div.2题解
T1 解题思路 这题应该不是很难,主要是题意理解问题. 注意给出的两个数组里映射关系已经对应好了,只要判断是否为双射即可 参考程序 #include <bits/stdc++.h> usi ...
- Oracle 监听hang住
1.数据库正常启动: [oracle@db ~]$ sqlplus / as sysdba SQL*Plus: Release 11.2.0.4.0 Production on Sat Aug 24 ...
- SSH三大框架整合配置详解
首先,三大框架整合,肯定是要导入相当多的jar包,这是不容置疑的! 这里就不一一列举了,直接截图吧: (1) 基于配置文件的整合: 第一步:我们需要在we ...
- log4j动态配置参数
特别提示:本人博客部分有参考网络其他博客,但均是本人亲手编写过并验证通过.如发现博客有错误,请及时提出以免误导其他人,谢谢!欢迎转载,但记得标明文章出处:http://www.cnblogs.com/ ...
- 何为受控组件(controlled component)
在 HTML 中,类似 , 和 这样的表单元素会维护自身的状态,并基于用户的输入来更新:当用户提交表单时,前面提到的元素的值将随表单一起被发送.但在 React 中会有些不同,包含表单元素的组件将会在 ...