/**
* 键盘录入String类型的字符串,再键盘录入一个int型n的数字,这个数字是确定提取的字节数n(判定字节长度)
* 将字符串封装成byte数组,并且取出n个元素提取出来赋值给新的数组。
*
* 对数组进行遍历,找到截取(n)的字节中,有多少个小于0 的个数count
*
* 如果byte数组最后一位小于0,且如果小于0的元素为奇数个。数组元素最后一位去掉,然后打印。
*
* else 直接打印。
*
*
*
*/
public class Demo22 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String s=sc.nextLine();
int n=sc.nextInt();
//byte数组
byte[] bytes = s.getBytes();
//判定截取的字节数量是否大于录入的字符串字节数
if(n>=bytes.length){
System.out.println(s);
}else{
//找到截取的字节中,有多少个小于0 的个数count
int count=fun1(bytes,s,n);
//
fun2(n, bytes,count) ;
}
}
private static int fun1(byte[] bytes, String s, int n) {
// System.out.println(Arrays.toString(bytes));
//声明一个变量count,获取截取的字节中小于0的个数
int count=0;
for(int i=0;i<n;i++){
if(bytes[i]<0){
count++;
}
}
// System.out.println(count);
return count;
}
private static void fun2(int n, byte[] bytes, int count) {
if(bytes[n-1]<0 && (count%2)==1){
String str = new String(bytes,0,--n);
// System.out.println(str.length());
System.out.println(str);
}else{
String str = new String(bytes,0,n);
// System.out.println(count);
System.out.println(str);
}
}
}
|