一、改进的算数学习工具
package exercise;
import javax.swing.JOptionPane;
public class SubtractionTutor {
public static void main(String[] args) {
int ran1=(int)(Math.random()*100);
int ran2=(int)(Math.random()*100);
int answer=0;
//也可以用这种方法
//if(ran2>ran1)
// int temp=ran1;
// ran1=ran2;
// ran2=temp;
if(ran1>ran2){
answer=ran1-ran2; //也可以直接将ran1-ran2放到输出框里面
String input=JOptionPane.showInputDialog(ran1+"-"+ran2+"=");
int useranswer=Integer.parseInt(input);
JOptionPane.showMessageDialog(null, "正确答案为"+ran1+"-"+ran2+"="+answer+"\n您的输入的答案"+useranswer+" "+(answer==useranswer));
}
else //else里面即使有多个语句也不必加大括号{}
answer=ran2-ran1;
String input=JOptionPane.showInputDialog(ran2+"-"+ran1+"=");
int useranswer=Integer.parseInt(input);
JOptionPane.showMessageDialog(null, "正确答案为"+ran2+"-"+ran1+"="+answer+"\n您的输入的答案"+useranswer+" "+(answer==useranswer));
}
}
二、Switch的用法
package exercise;
import javax.swing.JOptionPane;
public class SwitchTest {
public static void main(String[] args) {
String input=JOptionPane.showInputDialog("请输入一个1~4范围的整数");
int num=Integer.parseInt(input);
switch(num){ //注意使用格式写法
case 1:JOptionPane.showMessageDialog(null, "我猜你输入的是"+num);
break; //为了避免往下运行时继续显示后面的内容,在这里要用break结束运行
case 2:JOptionPane.showMessageDialog(null, "我猜你输入的是"+num);
break;
case 3:JOptionPane.showMessageDialog(null, "我猜你输入的是"+num);
break;
case 4:JOptionPane.showMessageDialog(null, "我猜你输入的是"+num);
break;
default:JOptionPane.showMessageDialog(null, "你骗人,你没按要求输入");
//必须要带有默认的选项,且放在最后
}
}
三、条件表达式的简写
y=(x>0)?1:-1; //如果x>0则把1赋值给y,否则把-1赋值给y
max=(a>b)?a:b; //如果a>b则把a赋值给max,否则把b赋值给max
System.out.println((num%2==0)?"这是个偶数":"这是个奇数");
四、格式化输出
package exercise;
import javax.swing.JOptionPane;
public class GeShiHua {
public static void main(String[] args) {
int num1=50;
double num2=45.54;
System.out.printf("num1的值为:%d,num2的值为:%f\n\n",num1,num2);
//格式化输出要使用printf,num1和num2前后顺序不能颠倒,要根据%d和%f的顺序来定
System.out.printf("%8d%-8s\n",1234,"Java\n"); //%8d表示宽度为8的整数项,不够8位在前面加空格
System.out.printf("%-8d%-8s\n",1234,"Java"); //-号表示左对齐
JOptionPane.showMessageDialog(null, String.format("%-8d%-8s\n",1234,"Java\n"));
//在对话框显示格式化输出的方法,用String类中的format方法实现这个功能
}
}