字符串循环移动:
输入一个字符串以及要移动的位数;将字符串后面的若干位移动到字符串的前面;
import java.util.Scanner;
public class xunHuanYiDong {
//字符串循环移动
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String str01 = scanner.nextLine();
int i = scanner.nextInt();
scanner.close();
String[] strArr = str01.split(" ");
StringBuffer stringBuffer = new StringBuffer();
for(int j=strArr.length-i;j<strArr.length;j++){
stringBuffer.append(strArr[j]+" ");
}
for(int j=0;j<strArr.length-i;j++){
stringBuffer.append(strArr[j]+" ");
}
System.out.println(stringBuffer.toString().trim());
String[] str02 = stringBuffer.toString().split(" ");
int num01=0;
int num02=0;
for(int j=0;j<i;j++){
num01+=Integer.valueOf(str02[j]);
}
for(int j=str02.length-i;j<str02.length;j++){
num02+=Integer.valueOf(str02[j]);
}
System.out.println(num01+" "+num02);
}
}
测试结果:
输入
1 2 3 4 5 6 7 8 9 10
3
输出
8 9 10 1 2 3 4 5 6 7
27 18
大数求余问题:
输入两个超大数,求数1模数2的余数;
import java.math.BigInteger;
import java.util.Scanner;
//大数求余数
public class bigDataYuShu {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
try{
String str = scanner.nextLine();
scanner.close();
String[] strArr = str.split(" ");
BigInteger bigInteger = new BigInteger(strArr[0]);
BigInteger bigInteger01 = new BigInteger(strArr[1]);
System.out.println(bigInteger.remainder(bigInteger01));
}catch(Exception ex){
System.out.println("null");
}
}
}
输入:
1234567899999999999999999999999999999999999999999912345678 8912345678912345678955566666666452135431
输出
4628516629007495789935989944482684075860