示例:
1. 依次输出五句话,然后将它逆序输出。
import java.util.*;
public class Dibazhang {
public static void main(String[] args){
Scanner input=new Scanner(System.in);
String[] ju=new String[5];
System.out.println("请输入5句话");
for(int i=0;i<ju.length;i++){
System.out.print("第"+(i+1)+"句话");
ju[i]=input.next();
}
System.out.println(); //*换行
System.out.println("逆序输出5句话为:");
for(int i=0;i<ju.length;i++){
System.out.println(ju[ju.length-1-i]); //*逆序
}
}
}
2. 某百货商场当日消费积分最高的八名顾客,他们的积分分别是18,25,7,36,13,2,89,63。编写程序,找出最低的积分他在数组中的原始位置(下标):
import java.util.*;
public class Dibazhang {
public static void main(String[] args){
Scanner input=new Scanner(System.in);
int[] gral=new int[]{18,25,7,36,13,2,89,63};
int min=gral[0]; //*存储最低分
int index=0; //*存储最低积分下标
System.out.print("当日消费最高的八位顾客:");
for(int i=0;i<gral.length;i++){
System.out.print(gral[i]+"\t");
if(min>gral[i]){ //*如果用来存储最低分的变量min大于数组中的数
min=gral[i]; //*就把数组中的值,赋给min
index=i; //*循环把该最低分的下标赋给index
}
}
System.out.println(); //*换行
System.out.println("最低积分是:"+min+"下标是:"+index);
}
}
3. 从键盘上输入10个整数,合法值为1,2,3,不是这三个数则为非法数字。编程统计每个整数和非法数字的个数:
import java.util.*;
public class Dibazhang {
public static void main(String[] args){
Scanner input=new Scanner(System.in);
int[] nums=new int[10]; //*声明数组,长度10,存储用户输入的数字
int[] count=new int[4]; //*声明数组,长度10,存储三个合法数字和非法数字的个数
System.out.println("请输入10个数:");
for(int i=0;i<nums.length;i++){
nums[i]=input.nextInt(); //*用户输入
//*通过循环,使用switch选择结构,,先计算switch后面小括号里的表达式
//*然后将计算结果顺序与每个case后边的常量相比较,当二者相等时,
//*用来存储的数字的四个空间,开始自加1
switch(nums[i]){
case 1:
count[0]++; //*相当于计数作用
break;
case 2:
count[1]++;
break;
case 3:
count[2]++;
break;
default:
count[3]++;
}
}
System.out.println("数字1的个数:"+count[0]); //*输出
System.out.println("数字2的个数:"+count[1]);
System.out.println("数字3的个数:"+count[2]);
System.out.println("非法数字的个数:"+count[3]);
}
}
4. 假设一个数组的长度为5, int [ ] array = new int[ ] { 1, 3, -1, 5, -2};
现创建一个新数组 new Array[ ] ,要求新数组中的元素存顺序与原数组的元素逆序,并且如果原素组中的值小于0,在新数组中按0 存储。编写程序输出新数组中的元素。
import java.util.*;
public class Dibazhang {
public static void main(String[] args){
Scanner input=new Scanner(System.in);
int[] array=new int[]{1,3,-1,5,-2};
System.out.println("原数组为:");
for(int i=0;i<array.length;i++){ //*循环输出数组里储存的数字
System.out.print(array[i]+"\t");
if(array[i]<0){ //*循环比较,如果数组里的数字小于0,就把0赋给数组中的数字
array[i]=0;
continue;
}
}
System.out.println(); //*换行
System.out.println("逆序并处理后的数组为:");
for(int i=0;i<array.length;i++){ //*循环遍历处理后的数字
System.out.print(array[array.length-1-i]+"\t");
}
}
}
5.有一组英文歌曲,按照歌曲名称的字母顺序从"A"到"Z"顺序排列,保存在一个数组中。现在增加一首新歌,将他插入数组,并保存歌曲名称升序排列。
import java.util.*;
public class Dibazhang {
public static void main(String[] args){
Scanner input=new Scanner(System.in);
String[] musics=new String[]{"Island","Ocean","Pretty","Sun"};//*定义数组,储存歌曲名称
String[] sc=new String[5]; //*定义数组,长度为5,用来储存插入处理后的数据
System.out.print("插入前的数组为:");
for(int i=0;i<musics.length;i++){
System.out.print(musics[i]+" ");//*输出原数组
}
for(int i=0;i<musics.length;i++){ //*通过循环,把原数组的空间内容,赋给数组sc
sc[i]=musics[i];
}
System.out.println(); //*换行
System.out.print("请输入要插入的歌曲名称:");
String name=input.next();
int dex=sc.length; //*把sc的数组长度赋给dex
for(int a=0;a<sc.length;a++){
if(sc[a].compareToIgnoreCase(name)>0){ //*通过此方法,找到该插入的位置
dex=a; //*把该位置赋给dex
break;
}
}
//*元素后移
for(int p=sc.length-1;p>dex;p--){
sc[p]=sc[p-1];
}
sc[dex]=name;
System.out.print("插入后的数组:");
for(int y=0;y<sc.length;y++){
System.out.print(sc[y]+" ");
}
}
}