public class Main{
常见问题,
需要输入一个数组,但我们不确定大小哦,
那我们可以先输入一个字符串然后通过split()来变成数组
public static void main(String args[]){
Scanner sc = new Scanner(System.in);
String s = sc.nextLine();
String str = s.substring(1,s.length()-1);
String a[] = str.split(",");
int b[] = new int[a.length];
for(int i=0;i<a.length;i++)
b[i] = Integer.parseInt(a[i]);
//注记:
Integer.valueOf("")和Integer.parseInt("")内部实现是一样的,
它们之间唯一的区别就是Integer.valueOf(“”)返回的是一个Integer对象,
而Integer.parseInt(“”)返回的是一个基本类型的int。
}
}
字符串常用到的函数:
split(String regex) 拆分函数 根据给定的正则表达式的匹配来拆分此字符串
replace() 函数 字符串替换函数
如:String s = "aaabbb"
System.out.print(s.replace("bbb","ccc")); //输出是 aaaccc
indexof() 返回指定字符在此字符串中第一次出现处的索引
如果此字符串中没有这样的字符,则返回 -1。
substring 返回一个新字符串,它是此字符串的一个子字符串 也成为字符串截取
trim() 去掉起始和结尾的空格
toLowerCase() 转换为小写
toUpperCase() 转换为大写
charAt() 截取一个字符
getChars() 截取多个字符
concat() 连接两个字符串
例:String s="Welcome to ";
String t=s.concat("AnHui");
toCharArray()
append 添加或插入函数
常见的进制间转换
//16----》2
String a = Integer.toBinaryString(Integer.valueOf("A1", 16));
System.out.println(a);
//16---->10
int b = Integer.parseInt("AB", 16);
System.out.println(b);
//16----->8 思路先 16-》10, 10-》8
String c = Integer.toString(b, 8);
System.out.println(c);
思路先 16-》2, 2-》8
String d = Integer.toBinaryString(Integer.parseInt("AB",16));
String f = Integer.toOctalString(Integer.parseInt(d, 2));
注意:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
Integer a = sc.nextInt();
String[] b = new String[a];
int[] c = new int[a];
for(int i=0;i<a;i++) {
b[i] = sc.next(); 《着重看看》
b[i] = Integer.toBinaryString(Integer.valueOf(b[i], 16));
}
for(int i=0;i<a;i++)
b[i] = Integer.toOctalString(Integer.parseInt(b[i],2));
for(int i=0;i<a;i++)
System.out.println(b[i]);
}
}
常见的类型转换
char型数据转换成int型数据
1)把char转成字符串, Integer.parseInt(""+'1')
或
String a = "12345";
int d = Integer.parseInt(String.valueOf(a.charAt(2)));
int c = Integer.parseInt(String.valueOf(a.charAt(3)));
System.out.println(d * c);
i ==sb.charAt(s)-'0' 直接转换ASCII码
(char)i = sb.charAt(s);
获取最大值最小值
int max = Integer.MAX_SIZE;
Java 如何将string中的小数进行四舍五入
double area=Math.PI*a*a;
String res =String.format("%.7f", area);
System.out.printf("%.7f",area);
序列求和:
注意大数
long n = sc.nextLong(); long sum=0; sum = (long)((n+1)*n/2);
输入的第一行包括两个整数,由空格分隔,分别表示A、B。
Scanner sc = new Scanner(System.in);
Integer a = sc.nextInt();
Integer b = sc.nextInt();
数组排序 Arrays.sort(a);
时间:2018.12.18