java数组缩减老韩拓展案例
针对b站老韩教程里数组缩减案例的额外拓展:
有一个数组,{1, 2, 3, 4, 5}
1.将该数组进行缩减
2.询问user是否继续缩减(回答y或者n)
3.询问每次缩减数列里具体的哪个元素(这部分是所加的拓展内容)
4.当只剩下最后一个元素,提示:不能再缩减(并结束程序)
代码如下:
/*
有一个数组,{1, 2, 3, 4, 5},可以将该数组进行缩减,提示user是否继续缩减,
每次缩减最后哪个元素
当只剩下最后一个元素,提示:不能再缩减
*/
import java.util.Scanner;
public class Main08 {
public static void main(String[] args) {
int arr[]={1, 2, 3, 4, 5};
char user01;
label1:
do {
Scanner myScanner = new Scanner(System.in);//创建新scanner
System.out.println( "是否进行缩减?" );
user01 = myScanner.next().charAt( 0 );//提示用户是否继续缩减
if ( user01 == 'y' ){
System.out.println( "缩减哪个指定元素?" );
int user02 = myScanner.nextInt();//每次缩减哪个元素
//进行缩减,并减去元素user02
int arrNew[] = new int[arr.length - 1];//创建一个新数组
for ( int i = 0; i < ( arr.length - 1 ); i++ ){
arrNew[i] = arr[i];//新数组元素替换
if(( arr.length-1 ) == 1 ){
System.out.println( "不能再缩减" );
break label1;
}
}
for( ; user02 <= ( arr.length - 1 ); user02++ ){
arrNew[user02 - 1] = arr[user02];
}//每次缩减最后哪个元素,并且后面元素前移
arr = arrNew;//赋值arr
for ( int i = 0; i< arr.length; i++ ){
System.out.print( arr[i] + "\t" );
}//输出最终arr
}else{
break label1;
}
}while ( true );
}
}