JAVA刷题方法整理

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() {
    @Override
    public 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定义成大数的1
           for(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,而不能继续读取数据。

你可能感兴趣的:(java)