您的位置:首页 > 编程语言 > Java开发

《JAVA 语言程序设计基础篇》chapter 3 选择

2012-02-02 16:47 483 查看
上章内容回顾

上一章主要是关于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号











内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: