java几个包的小整理&&「一本通 6.3 例 3」最大公约数

这段时间期末考试C++终于结束了,趁着有一点时间稍微整理一下吧。

首先是这个题目。

Description
给出两个正整数 A,B,求它们的最大公约数。

Input
输入共两行,第一行一个正整数 A,第二行一个正整数 B。1≤A,B≤10​3000

Output
在一行中输出一个整数,表示 A,B 的最大公约数。

因为数据范围的问题,我们用普通的方式来求肯定不可以,C++我寻思着也有点麻烦,
(大概思路就是用二进制算法求最大整数的最大公约数,转换为a[]*(2^t)的形式,涉及一点高精度除法和减法,但我真的懒到家了…)

(咳咳,好了不要揭穿我了嘤嘤嘤)

而且大二要学Java,所以这里我想到了java来写比较方便,python臣妾不会啊呜呜呜,就试了试java看看。
(菜鸡还是选择了偷懒)

代码如下:

import java.util.*;
import java.math.*;
import java.io.*;
public class Main {

	public static void main(String[] args) {
		Scanner Fin = new Scanner(System.in);
		BigInteger A = Fin.nextBigInteger(),B = Fin.nextBigInteger();
		System.out.println(A.gcd(B));
	}

}

这个代码用了几个小包,我稍作整理,本来学的也不深,难免有许多不周到的地方,日后我还会回看慢慢改的吧
(菜鸡惭愧捂脸,羞耻,喷轻一点哦,嘤嘤嘤)

首先是"import java.util. * "这个东西:

因为我们在主程序中实现了输入,这个东西有点像C++中的头文件和using namespace std;。而这里导入了java.util包中的类接口,对于输入,如果我们不用上面程序的方式来写的话,我们应该写成:import java.util.Scanner;或者如果我们连这个都不写的话,我们就要写成java.util.Scanner sc = new java.util.Scanner();
这样的话就有点麻烦,(莫名想起C++中万能头文件)
import java.util.*中的 * 表示这个包下的所有类库(不包括子包),就是全部的意思。
而有了这行语句后,java.util包下的所有类和接口现在命名空间中都是可见的。我们可以直接使用Scanner、Map、Comparator、Iterator等名称,而不必写出它们的全限定名。
但是我们还是推荐写 import java.util.Scanner,因为会涉及到命名空间污染的问题,一般最好少用通配符。

其次就是"import java.math. * "这个东西:

其实我们光看表面意思的话,我们就不难猜到这个东西肯定和数学有关
(废话)
“ * ”的含义上面一个也讲了,感觉这个东西很像头文件#include"math"里面的东西,然后这里介绍一点点用法就行了吧
java.math是一个包,主要是用在执行任意精度整数算法和任意精度小数算法的类,而java.lang.Math类中包含一些数字的基本操作,提供e和pi两个静态常量。
下面是一些简单的用法:

package example;
import java.util.*;//表示了导入了util包中的所有类,所以不需要java.util.Scanner也可以了。
import java.math.*;//类比于上面,也调用的是所有的数学类的。
import java.io.*;
import java.util.Scanner;
public class Now {

	public static void main(String[] args) {
		// TODO= 自动生成的方法存根
			System.out.println(Math.sqrt(4));//平方根 2.0
			System.out.println(Math.cbrt(8));//立方根 2.0
			System.out.println(Math.pow(2, 4));//a的b次方 16.0
			System.out.println(Math.max(3, 4));//最大值 4
			System.out.println(Math.min(3, 4));//最小值 3
			System.out.println(Math.abs(-11.1));//绝对值 11.1
			System.out.println(Math.ceil(-11.2));//向上取整-11.0
			System.out.println(Math.floor(-10.2));//向下取整-11.0
			System.out.println(Math.rint(10.4));//四舍五入,返回double值 10.0
			System.out.println(Math.random());//取得一个随机数x,且0.0<=x<1.0,0.6192534519742223
			System.out.println(Math.round(10.4));//四舍五入,float返回int,double返回long 10
	}

}

最后是" import java .io. * "这个东西

就是标准输入输出流,io就是缩写,util是工具类的缩写。

这次的整理就到这里了…
(我保证我真的现在只会这些啊呜呜呜)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值