Java从入门到放弃篇13(Java日常练习2)swing,Scanner,习题。

今天,接着跟大家分享一下Java编程。我还是参照《Java程序设计》这本书学的。明天还要早起,先发这么多。等明天有时间再接着发。

代码如下图:

import java.util.Scanner;
import javax.swing.*;
class Example2{
	public static void main(String[] args) {
		System.out.println("Java使我快乐!!");
		test();
		test2();
		test3();
		test5();
		test8();
	}
	
	public static void test() {//求和
		int sum = 0;
		int number = 0;
		while(number < 20) {
			number++;
			sum += number;
			if(sum >= 100) {
				break;
			}
			System.out.println("这个数字是"+number);
			System.out.println("求和结果是:"+sum);
		}
		System.out.println();//换行
	}
	
	public static void test2() {//求和
		int sum = 0;
		int number = 0;
		while(number < 20) {
			number++;
			if(number == 10 || number == 11) {//判断数字等于10或者是等于11
				sum+=number;
			}
			System.out.println("求和结果是:"+sum);
		}
		System.out.println();//换行
	}
	
	public static void test3() {
		int number = (int)(Math.random() * 101);//生成[0,100]之间的随机数
		Scanner input = new Scanner(System.in);//创建输入对象
		System.out.println("猜一个[0,100]之间的数字:");
		while(true) {//开始一个可控的死循环
			System.out.print("\n请输入你猜的数字:");
			int guess = input.nextInt();//获取用户的键盘输入
			
			if(guess == number) {//判断输入的数字与随机数相等时,执行
				System.out.println("是的,这个数是"+number);
				break;
			}
			else if(guess > number) {//输入的数字大于随机数,执行
				System.out.println("你猜的数字大了!");
			}
			else {//小于随机数,执行
				System.out.println("你猜的数字小了!");
			}
		}
		System.out.println();//换行
	}
	
	public static void test5() {//使用swing类,创建GUI输入界面
		int sum = 0;//定义求和的初始值为0
		int option = JOptionPane.YES_NO_OPTION;//选择按钮
		while(option == JOptionPane.YES_NO_OPTION) {
			String dataString = JOptionPane.showInputDialog("请输入一个整数:");//显示输入框
//			if(dataString != null) {//当输入的内容不为空时,执行
			int data = Integer.parseInt(dataString);//将字符串转换成整数
			sum += data;//计算求和
			option = JOptionPane.showConfirmDialog(null,"是否继续?","提示框",option);//显示确认框
//			}
//			else {//输入为空时,执行跳出。
//				break;
//			}
		}
		JOptionPane.showMessageDialog(null, "求和结果是"+sum);//显示消息日志
	}
	
	public static void test6() {//练习2
		double miles = 100;
		//声明double类型的miles,值为100
		double KILOMETERS_PER_MILE = 1.609;
		//声明double类型的KILOMETERS_PER_MILE,值为1.609
		double kilometers = miles * KILOMETERS_PER_MILE;
		//声明double类型的kilometers,值为miles * KILOMETERS_PER_MILE
		System.out.println("kilometers:"+kilometers);
		//控制台显示double类型的kilometers名称,输出kilometers的值。
	}
	
	public static void test7() {//练习3
		final int SIZE = 20;
		//注意!定义一个整数(整形)常量,int SIZE只是定义一个整形(整数)SIZE,不表示SIZE是常量。
		System.out.println(SIZE);//输出整形常量SIZE
	}
	
	public static void test8() {//练习4
		int a = 1;//声明int类型的a,值为1
		double d = 1.0;//声明double类型的d,值为1.0
		//计算下面的表达式
		int a1 = 46/9;
		System.out.println("a1是"+a1);
		int a2 = 46 % 9 + 4 * 4 - 2;
		System.out.println("a2是"+a2);
		int a3 = 45 + 43 % 5 * (23 * 3 % 2);
		System.out.println("a3是"+a3);
		System.out.println("a %= 3 / a + 3:\n"+(a %= 3 / a + 3));
		double d1 = 4 + d * d + 4;
		System.out.println("d1是"+d1);
		System.out.println("d+=1.5 * 3 + (++a):\n"+(d+=1.5 * 3 + (++a)));
		System.out.println("d-=1.5 * 3 + a++:\n"+(d-=1.5 * 3 + a++));
	}
}

运行结果,如下图:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
其实,书上GUI的那个例子有个问题,就是你如果一开始就选择取消(或者是输入数后选择取消),就会报错!!如下图:
在这里插入图片描述
我经过思考,因为它接收的是字符串,需要转换成整形。当输入的值为空值就无法转换!!导致报错!!所以,我依据这个问题,设置了null值判断,让输入为空时不报错。修改代码,如下图:

public static void test5() {//使用swing类,创建GUI输入界面
		int sum = 0;//定义求和的初始值为0
		int option = JOptionPane.YES_NO_OPTION;//选择按钮
		while(option == JOptionPane.YES_NO_OPTION) {
			String dataString = JOptionPane.showInputDialog("请输入一个整数:");//显示输入框
			if(dataString != null) {//当输入的内容不为空时,执行
				int data = Integer.parseInt(dataString);//将字符串转换成整数
				sum += data;//计算求和
				option = JOptionPane.showConfirmDialog(null,"是否继续?","提示框",option);//显示确认框
			}
			else {//输入为空时,执行跳出。
				break;
			}
		}
		JOptionPane.showMessageDialog(null, "求和结果是"+sum);//显示消息日志
	}

运行结果,如下图:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
通过学习《Java程序设计》这本书,收获不少。感觉每天有新的收获,很nice!!今天,解决了一个问题,又编了一些题目,明天有时间再接着把剩下的题补上。

最后,感谢大家前来观看鄙人的文章,文中或有诸多不妥之处,还望指出和海涵。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 10
    评论
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不羁_神话

感谢支持,欢迎交流。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值