《JAVA 语言程序设计基础篇》chapter 3 选择
2012-02-02 16:47
483 查看
上章内容回顾
上一章主要是关于java基本数据类型以及使用Scanner类输入
这里复习一下,使用输入框完成书后的一道课后题目
习题:编写程序,读取一个0到1000之间的整数,并将该整数的各位数字相加。
分析:使用运算符%分解数字,然后使用运算符/去掉分解出来的数字,
前面几节是关于if语句的使用,
这里取其中比较巧妙的做法
//改为下面的程序
这样更简短些
因为之前学习C++的时候这部分用得比较多,所以并不做太多叙述
取一个经过改进的BMI(身体质量指数)的程序来简单应用一下if语句
格式化控制台输出
System.out.printf(format,item1,item2,...,itemk);
GUI(确认框)
int option=JOptionPane.showConfirmDialog(null,"Continue");
比如我生日那天是1号
![](http://pic002.cnblogs.com/images/2012/313336/2012020216442934.jpg)
![](http://pic002.cnblogs.com/images/2012/313336/2012020216444524.jpg)
![](http://pic002.cnblogs.com/images/2012/313336/2012020216450057.jpg)
![](http://pic002.cnblogs.com/images/2012/313336/2012020216451474.jpg)
![](http://pic002.cnblogs.com/images/2012/313336/2012020216452461.jpg)
上一章主要是关于java基本数据类型以及使用Scanner类输入
这里复习一下,使用输入框完成书后的一道课后题目
习题:编写程序,读取一个0到1000之间的整数,并将该整数的各位数字相加。
分析:使用运算符%分解数字,然后使用运算符/去掉分解出来的数字,
import javax.swing.JOptionPane; public class NumbersSum { public static void main(String[] args) { // TODO Auto-generated method stub String numberString=JOptionPane.showInputDialog("请输入一个0到1000的整数"); int number=Integer.parseInt(numberString); if(number<0||number>=1000) JOptionPane.showMessageDialog(null, "输入数字范围错误","ERROR",JOptionPane.INFORMATION_MESSAGE); else { int sum =0; while(number>0) { int s=number%10; number=number/10; sum+=s; } String output="各位数字之和为:"+sum; JOptionPane.showMessageDialog(null, output); } } }
前面几节是关于if语句的使用,
这里取其中比较巧妙的做法
1//这是一个显得赘余的程序
if(number%2==0) even=true; else even=false;
//改为下面的程序
bool even = number%2==0
这样更简短些
因为之前学习C++的时候这部分用得比较多,所以并不做太多叙述
取一个经过改进的BMI(身体质量指数)的程序来简单应用一下if语句
import javax.swing.JOptionPane; public class BMI { public static void main(String[] args) { // TODO Auto-generated method stub String weightString =JOptionPane.showInputDialog("请输入体重:(单位:KG)"); double weight=Double.parseDouble(weightString); String heightString =JOptionPane.showInputDialog("请输入身高:(单位:M)"); double height=Double.parseDouble(heightString); double answer=weight/( Math.pow(height,2)); String out; if(answer<16) out="\n您实在是太瘦了"; else if(answer<18) out="\n你偏瘦啦"; else if(answer<24) out="\n恭喜你正常身材啊"; else if(answer<29) out="\n你超重了"; else if(answer<35) out="\n你实在是太胖了"; else out="\n我已经对你的胖无语了"; String output="BMI指数为:"+answer+out; JOptionPane.showMessageDialog(null, output); } }
格式化控制台输出
System.out.printf(format,item1,item2,...,itemk);
public class StringFormat { public static void main(String[] args) { // TODO Auto-generated method stub int count=5; double amount=54.25; System.out.printf("count is %d and amount is %f", count,amount); double s1=2.0/3; System.out.printf("\n s1 is %4.2f", s1);//%4.2f 4是与宽度,2是精度,f是转化码 } }
GUI(确认框)
int option=JOptionPane.showConfirmDialog(null,"Continue");
import javax.swing.JOptionPane;; public class StringFormat { public static void main(String[] args) { // TODO Auto-generated method stub String set1= " 1\t 3\t 5\t 7\n"+ " 9\t 11\t 13\t 15\n"+ " 17\t 19\t 21\t 23\n"+ " 25\t 27\t 29\t 31"; String set2= " 2 3 6 7\n"+ " 10 11 14 15\n"+ " 18 19 22 23\n"+ " 26 27 30 31"; String set3= " 4 5 6 7\n"+ " 12 13 14 15\n"+ " 20 21 22 23\n"+ " 28 29 30 31"; String set4= " 8 9 10 11\n"+ " 12 13 14 15\n"+ " 24 25 26 27\n"+ " 28 29 30 31"; String set5= " 16 17 18 19\n"+ " 20 21 22 23\n"+ " 24 25 26 27\n"+ " 28 29 30 31"; int day=0; int answer=JOptionPane.showConfirmDialog(null, "你的生日在这些数字中么?\n"+set1); if(answer==JOptionPane.YES_OPTION) day+=1; answer=JOptionPane.showConfirmDialog(null, "你的生日在这些数字中么?\n"+set2); if(answer==JOptionPane.YES_OPTION) day+=2; answer=JOptionPane.showConfirmDialog(null, "你的生日在这些数字中么?\n"+set3); if(answer==JOptionPane.YES_OPTION) day+=4; answer=JOptionPane.showConfirmDialog(null, "你的生日在这些数字中么?\n"+set4); if(answer==JOptionPane.YES_OPTION) day+=8; answer=JOptionPane.showConfirmDialog(null, "你的生日在这些数字中么?\n"+set5); if(answer==JOptionPane.YES_OPTION) day+=16; JOptionPane.showMessageDialog(null, "你的生日是 "+day+"!"); } }
比如我生日那天是1号
![](http://pic002.cnblogs.com/images/2012/313336/2012020216442934.jpg)
![](http://pic002.cnblogs.com/images/2012/313336/2012020216444524.jpg)
![](http://pic002.cnblogs.com/images/2012/313336/2012020216450057.jpg)
![](http://pic002.cnblogs.com/images/2012/313336/2012020216451474.jpg)
![](http://pic002.cnblogs.com/images/2012/313336/2012020216452461.jpg)
![](http://pic002.cnblogs.com/images/2012/313336/2012020216453421.jpg)
相关文章推荐
- 《JAVA 语言程序设计基础篇》chapter 5 方法
- Atitit 项目语言的选择 java c#.net php??
- 11.java语言基础-排序算法-选择排序
- 选择合适的java脚本语言
- Java语言中选择排序和冒泡排序
- day03 java语言基础(运算符与选择结构)
- Chapter 16 Greenplum PL/Java 语言扩展-安装并使用PL/JAVA
- Atitit 项目语言的选择 java c#.net php??
- Java语言实现九大排序算法(快速、归并、堆、选择、插入、计数、基数、希尔、冒泡)
- Java语言基础-排序算法-选择排序
- Java语言基础(五) : 选择结构之 switch 语句
- Chapter 16 Greenplum PL/Java 语言扩展-About PL/Java
- 初学java语言与选择语句与循环语句
- JAVA学习笔记---java语言实现冒泡排序,选择排序,反转排序
- C++, C#, Java, VB.NET,到底该选择哪一门语言?
- Android为什么选择Java作为开发语言之我见
- 【JAVA与C#比较】语言选择
- 算法入门---java语言实现的选择排序小结
- Java语言讲授方式的选择
- 选择排序的3种语言实现方法(C java python)