Java

Java

temple

1
2
3
4
5
6
7
8
9
10
11
12
13
14
import java.io.*;
import java.util.*;
import java.math.*;

public class Main{
public static void main(String[] args) throws IOException{
Scanner sc =new Scanner(System.in);
int a [] = new int[12];
for(int i=0;i<a.length;i++){
System.out.println(a[i]);
}
sc.close();
}
}

IO

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
//System.in,只能读取单个字符
char i = (char) System.in.read();

//BufferedReader类和InputStreamReader类,读取一个字符串
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String str = null;
str = reader.readLine();
System.out.println("your value is :"+str);
int n = Integer.parseInt(reader.readLine());

//Scanner
Scanner sc = new Scanner(System.in);
System.out.println("请输入你的姓名:");
String name = sc.nextLine(); //next()方法是不接收空格的,在接收到有效数据前,所有的空格或者tab键等输入被忽略,若有有效数据,则遇到这些键退出。nextLine()可以接收空格或者tab键,其输入应该以enter键结束。
System.out.println("请输入你的年龄:");
int age = sc.nextInt();
System.out.println("请输入你的工资:");
float salary = sc.nextFloat();
System.out.println("你的信息如下:");
System.out.println("姓名:"+name+"\n"+"年龄:"+age+"\n"+"工资:"+salary);

BigInteger

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
String temp1 = "-1000000000000000000000000000000000000";
BigInteger bg1 = new BigInteger(temp1); //注意初始化的方式,使用字符串来初始化
System.out.println(bg1.abs()); //绝对值方法 object.abs()
String temp2 = "100000000000000000000000000";
BigInteger bg2 = new BigInteger(temp2);
System.out.println(bg1.add(bg2)); //加法 object.add(BigInteger b)
System.out.println(bg1.subtract(bg2)); //减法 返回为 bg1 - bg2 (this - param)
System.out.println(bg1.multiply(bg2)); //乘法 返回 bg1 * bg2
System.out.println(bg1.divide(bg2)); //除法 返回bg1 / bg2
System.out.println(bg1.mod(bg2)); //取模运算 返回的是 bg1%bg2 (this mod param)
System.out.println(bg1.gcd(bg2)); //直接封装好了 求解bg1,bg2 的最大公约数
int temp5 = 5;
System.out.println(bg2.pow(temp5)); //乘方运算 注意这个方法的参数是基本类型int
System.out.println(bg2.compareTo(bg1)); // 比较方法 结果为1,bg2大;0,相等;-1,bg1大
System.out.println(bg3.equals(bg4)); //返回结果为true
//在BigDecimal更直观,例如0.1 与0.10 ,equal返回false 而compareTo则是正确的结果。

BigDecimal

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
String temp1 = "1.2222222222222222222222222";
BigDecimal bd1 = new BigDecimal(temp1);
String temp2 = "2.333333333333333333333333";
BigDecimal bd2 = new BigDecimal(temp2);
System.out.println(bd1.add(bd2)); // 加法
System.out.println(bd1.add(bd2).doubleValue()); //3.5555555555555554 这里用了一个方法将结果转化为double类型了
System.out.println(bd2.subtract(bd1)); //减法 输出 1.1111111111111111111111108
System.out.println(bd2.subtract(bd1).doubleValue()); //输出 1.1111111111111112
System.out.println(bd2.multiply(bd1)); //乘法
System.out.println(bd2.divide(bd1, 5, RoundingMode.HALF_UP));//除法应该注意很有可能会有除不尽的情况,这时候会有异常抛出,所以要传入控制参数
System.out.println(bd1.compareTo(bd2)); //比较方法
BigDecimal bd3 = new BigDecimal("1.20");
BigDecimal bd4 = new BigDecimal("1.2");
System.out.println(bd3.compareTo(bd4)); //返回0表示相等
System.out.println(bd3.equals(bd4));//返回的是false 是错误的,所以比较的时候使用compareTo()方法

vector

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Vector<E> v = new Vector<E>();
//下标访问
v.elementAt(int index);
//遍历
for(Iterator<E> iter=v.iterator(); ite.hasNext() ;) {
System.out.println(ite.next());
}

Iterator<E> ite=S_vec.iterator();
while(ite.hasNext()) {
System.out.println(ite.next());
}

Enumeration<E> e=v.elements();
while(e.hasMoreElements()) {
System.out.println(e.nextElement());
}