信1403-2班20142976蒋保宁
一:编写一个程序,用户输入两个数,求出其加减乘除,并用消息框显示计算结果。
源代码如下:
package demo;
import javax.swing.JOptionPane;
public class Test {
public static void main(String[] args) {
// TODO 自动生成的方法存根
String n1,n2;
int a,b;
n1=JOptionPane.showInputDialog("请输入第一个数:");
n2=JOptionPane.showInputDialog
("请输入第二个数:");
a=Integer.parseInt(n1);
b=Integer.parseInt(n2);
double he,cha,ji,shang;
he=a+b;
cha=a-b;
ji=a*b;
shang=a/b;
JOptionPane.showMessageDialog(null,"两数的和是:"+he+"\n"+"两数 的差为:"+cha+"\n"+"两数的乘积为:"+ji
+"\n"+"两数的商为:"+shang,"结果",
JOptionPane.PLAIN_MESSAGE);
System.exit(0);
}
}
分析:在程序中调用Integer类的方法将string类型变量转化为int类,所以如果我在输入框中输入不是int类型的数,系统就会报错。
通过JOptionPane类的两个method,即showInputDialog和showMessageDialog的简单调用,示范了对话框的基本用法。
鉴于对eclipse并不是很熟练的掌握,对于其内部的一些函数以及接口之类的并不是很清楚,不知道里面有什么函数和接口,以及哪些函数需要给哪些参数,功能是什么,返回值是什么等等,所以需要上网查JDK 1.8 API。
二:解决课程中的所有动手动脑的问题以及课后实验性的问题
1、Addition.java
package demo; import javax.swing.JOptionPane; public class Addition { public static void main( String args[] ) { String firstNumber, secondNumber; int number1, number2, sum; firstNumber = JOptionPane.showInputDialog( "请输入第一个数" ); secondNumber = JOptionPane.showInputDialog( "请输入第二个数" ); number1 = Integer.parseInt( firstNumber ); number2 = Integer.parseInt( secondNumber ); sum = number1 + number2; JOptionPane.showMessageDialog( null, "两数相加的和是 " + sum, "Results", JOptionPane.PLAIN_MESSAGE ); System.exit( 0 ); } }
截图:
2、InputTest
package demo;
import java.util.*;
public class InputTest {
public static void main(String[] args) {
// TODO 自动生成的方法存根
Scanner in = new Scanner(System.in);
// get first input
System.out.print("What is your name? ");
String name = in.nextLine();
// get second input
System.out.print("How old are you? ");
int age = in.nextInt();
System.out.println("Hello, " + name + ". Next year, you'll be " + (age + 1));
}
}
截图:
3、RandomStr
源代码:
package demo;
public class RandomStr {
public static void main(String[] args) {
// TODO 自动生成的方法存根
//定义一个空字符串
String result = "";
//进行6次循环
for(int i = 0 ; i < 6 ; i ++)
{
//生成一个97~122的int型的整数
int intVal = (int)(Math.random() * 26 + 97);
//将intValue强制转换为char后连接到result后面
result = result + (char)intVal;
}
//输出随机字符串
System.out.println(result);
}
}
截图:
4、Plus
源代码:
package demo;
public class Plus {
public static void main(String[] args)
{
int X=100;
int Y=200;
System.out.println("X+Y="+X+Y);
System.out.println(X+Y+"=X+Y");
}
}
截图:
分析:在System.out.println()中,如果在string字符串后面是+和变量,会把变量转换成string类型,加号起连接作用,然后把两个字符串连接成一个新的字符串输出;如果先有变量的加减运算再有字符串,那么会从左到右先计算变量的加减,然后再与后面的string结合成一个新的字符串。也就是说加号只有在两个string类型或者其中一个是string类型的时候才起到连接作用,否则仍然是运算符。
4、RandomStr
源代码:
package demo;
import javax.swing.JOptionPane;
public class RandomStr {
public static void main(String[] args) {
//生成一个6位的由小写字母组成的随机字符串
int weishu=6;
String str = "";
for(int i=1;i<=weishu;i++)
{
//生成一个表示a~z的ASCII的随机数
int intValue = (int)(Math.random()*26+97);
//将此随机数转化为其对应的字母并连接在str后面
str = str + (char)intValue;
}
//随机字符串生成完毕
String inputStr;
inputStr = JOptionPane.showInputDialog("请输入以下验证码\n"+str);
if(inputStr.equals(str))
{
JOptionPane.showMessageDialog(null, "验证成功");
}
else
{
JOptionPane.showMessageDialog(null, "抱歉,验证失败");
}
}
}
截图:
5、TestBigDecimal
源代码:
package demo;
import java.math.BigDecimal;
public class TestBigDecimal
{
public static void main(String[] args)
{
BigDecimal f1 = new BigDecimal("0.05");
BigDecimal f2 = BigDecimal.valueOf(0.01);
BigDecimal f3 = new BigDecimal(0.05);
System.out.println("下面使用String作为BigDecimal构造器参数的计算结果:");
System.out.println("0.05 + 0.01 = " + f1.add(f2));
System.out.println("0.05 - 0.01 = " + f1.subtract(f2));
System.out.println("0.05 * 0.01 = " + f1.multiply(f2));
System.out.println("0.05 / 0.01 = " + f1.divide(f2));
System.out.println("下面使用double作为BigDecimal构造器参数的计算结果:");
System.out.println("0.05 + 0.01 = " + f3.add(f2));
System.out.println("0.05 - 0.01 = " + f3.subtract(f2));
System.out.println("0.05 * 0.01 = " + f3.multiply(f2));
System.out.println("0.05 / 0.01 = " + f3.divide(f2));
}
}
截图: