Lab3
1. 图形界面:
- 输入[代替Scanner?]:JOptionPane.showInputDialog(“提示信息”);
import javax.swing.*;
//...
String dateString =
JOptionPane.showInputDialog("输入日期");
- 输出: JOptionPane.showMessageDialog(null, constellation);
null是表示弹出框的位置位于屏幕中心
JOptionPane.showMessageDialog(null, constellation);
2. 从一个长字符串中读取子字符串并赋值、转换类型
String newString = oldString.substring(0, 4);
- 0是第一个字符,4是[遇到即终止],该语句执行内容:读取0、1、2、3字符成为新的newString;
int number = Integer.parseInt(newString) ;
- parse:分析、解析
- parseint是把()中的内容解析转化为int
- Integer.大约也是隐式导入的包,像Math.,注意大写
String yearString = dateString.substring(0, 4);
int year = Integer.parseInt(yearString) ;
3. if和else if的使用、|| &&逻辑操作符的使用
注意
if和else if搭配,在此程序中可以没有else,因为之前已经初始化了constellation=“ ”;了
如果没有初始化二仅仅只是声明了,就需要else防止空值,再print就报错;
// 2. 判断星座类型。
if ((month == 8 && day >= 23) || (month == 9 && day <= 22))
constellation = "处女座";
else if ((month == 9 && day >= 23) || (month == 10 && day <= 22)) {
constellation = "天秤座";
} else if ((month == 10 && day >= 23) || (month == 11 && day <= 21)) {
constellation = "天蝎座";
} else if ((month == 11 && day >= 22) || (month == 12 && day <= 21)) {
constellation = "射手座";
} else if ((month == 12 && day >= 22) || (month == 1 && day <= 19)) {
constellation = "魔羯座";
} else if ((month == 1 && day >= 20) || (month == 2 && day <= 18)) {
constellation = "水瓶座";
} else if ((month == 2 && day >= 19) || (month == 3 && day <= 20)) {
constellation = "双鱼座";
} else if ((month == 3 && day >= 21) || (month == 4 && day <= 20)) {
constellation = "牡羊座";
} else if ((month == 4 && day >= 21) || (month == 5 && day <= 20)) {
constellation = "金牛座";
} else if ((month == 5 && day >= 21) || (month == 6 && day <= 21)) {
constellation = "双子座";
} else if ((month == 6 && day >= 22) || (month == 7 && day <= 22)) {
constellation = "巨蟹座";
} else if ((month == 7 && day >= 23) || (month == 8 && day <= 22)) {
constellation = "狮子座";
}//...其实可以不加{}...