JAVA刷题方法整理
一、String—>String[]
利用String.split()实现
注:在使用String.split 方法分隔字符串时,分隔符如果用到一些特殊字符,可能会得不到我们预期的结果,例如“|”,“*”,“+”等,需要变为“\\|”,“\\*”,“\\+”才可以。
String str = new String("abcedfg");String[] arr = str.split("");
利用String.toCharArray()实现
String str = new String("abcedfghig");char[] chr = str.toCharArray();
二、String[] —> String
借助StringBuffer类的append(),String本身不具备此方法
String[] str = new String[]{"abc","123","78"};StringBuffer sb = new StringBuffer();for(int i = 0;i<str.length;i++){sb.append(str[i]);}
三、char[] —> String
通过char.toString()
char[] chr = new char[]{'a','b','c'};chr.toString();
通过String.valueOf()
char[] chr = new char[]{'a','b','c'};String.valueOf(chr);
四、处理末位带空格的情况
针对末位带空格,通过StringBuffer或者StringBuilder来实现存储,并能够进行多次修改
通过StringBuffer实例.substring(0,StringBuffer实例.length()-1)实现将末位空格去除,再统一输出
五、其他类型转String
直接调用String.valueOf()进行转换
也使用可以使用int+“”;转成字符串
通过String.chatAt()获取下标元素
通过String.substring()截取i之后的元素
通过String.split(“”)分隔字符串得到数组
六、String—>int
String a = Integer.valueOf(b);
String a = Integer.ParseInt(b);
七、char–>String
String str = String.valueOf(char)
八、自定义排序
Arrays.sort(point,0, n, new Comparator<Point>() {@Overridepublic int compare(Point o1, Point o2) {if (o1.x - o2.x == 0) {return (int) (o1.y - o2.y);}return (int) (o1.x - o2.x);}
});
九、for each 输出
for (Point i:point) {System.out.println(i.x + "," + i.y);}
十、大数阶乘
import java.math.BigInteger;
import java.util.Scanner;
public class Main{public static void main(String[] args) { Scanner inputScanner=new Scanner(System.in);while(inputScanner.hasNext()){int n=inputScanner.nextInt();BigInteger m;m=BigInteger.valueOf(1);//将m定义成大数的1for(int i=1;i<=n;i++){m=m.multiply(BigInteger.valueOf(i));//大数乘法}System.out.println(m);} }
}
十一、大数加、减、乘、除、取余
//定义:
BigDemical bg = new BigDemical(int)
BigDemical bg = new BigDemical(String)
//加:
jia = bg.add(new BigDemical(1))
//减:
jian = bg.subtract(new BigDemical(1))
//乘:
cheng = bg.multiply(new BigDemical(1))
//除:
chu = bg.divide(new BigDemical(1))
//取余
yu = bg.divideAndRemainder(new BigDemical(2))
//返回一个数组:商yu[0] 余数yu[1]
十二、Java Character 类
Character 类用于对单个字符进行操作。
Character 类在对象中包装一个基本类型 char 的值
十三、模运算
a&1 等价于 a%2 == 0
a>>=1 等价于 a/=2
十四、next()与nextLine()
next()一定要读取到有效字符后才可以结束输入,对输入有效字符之前遇到的空格键、Tab键或Enter键等结束符,next()方法会自动将其去掉,只有在输入有效字符之后,next()方法会将输入的空格键、Tab键或Enter键等视为分隔符或结束符,所以next方法不能得到带空格的字符串。
而nextLine()方法的结束符只是Enter键,即nextLine()方法返回的是Enter键之前的所有字符,它是可以得到带空格的字符串的。
要注意的是在每一个 next()、nextDouble() 、 nextFloat()、nextInt() 等语句之后如果还有一个nextLine(),需要再加一个nextLine()语句,将next()之后Enter结束符过滤掉,否则nextLine()会读取到Enter,而不能继续读取数据。