博客园 首页 私信博主 显示目录 隐藏目录 管理 动画 动画

第一本书 第七章(课后题)

1、选择题

  1、C   2、BD   3、A   4、B   5、C 

2、简答题

  1、String [] scores={ “ Mike”,"Lily" ,"Sunny", "  Jenny", "Anna"};

  2、首先依次输入五句话,然后将它逆序打印出来。

package cn.bdqn.shuzu;

import java.util.Arrays;
import java.util.Scanner;

public class Demo4 {
public static void main(String[] args) {
String[]says=new String[5];
// 定义一个数组
Scanner input=new Scanner(System.in);
System.out.println("请依次输入五句话:");
for(int i=0; i<says.length;i++){
System.out.println("第"+(i+1)+"句话\t");
says[i]=input.next();
}
// 利用for循环依次输入五句话
Arrays.sort(says);
System.out.println("");
System.out.println("逆序输出:");
for (int i=says.length-1;i>=0;i--){
System.out.println(says[i]);
}

}
}

/

  3、某百货商场当日消费积分最高的八名顾客,他们的积分分别是18、25、7、36、13、2、89、63。编写程序找出最低的积分及他在数组中的原始位置(下标)。

package cn.bdqn.shuzu;

public class Demo5 {

/**
* @param args
*/
public static void main(String[] args) {
// TODO 自动生成的方法存根
int[]points={18,25,7,36,13,2,89,63};
int min=points[0];
int index=0;
for(int i=0;i<points.length;i++){
if(min>points[i]){
min=points[i];
index=i;
}
}
System.out.println("最低积分的"+min+"原始位置(下标)是"+index);
}

}

  4、从键盘输入10个整数,合法值为1、2或3,不是这三个数则是为非法数字。试编程统计每个整数和非法数字的个数

package cn.bdqn.shuzu;

import java.util.Scanner;

public class Demo6 {

/**
* @param args
*/
public static void main(String[] args) {
// TODO 自动生成的方法存根
int[]nums=new int[10];
int[]count=new int[4];
Scanner input=new Scanner(System.in);
System.out.println("请输入10个数字:");
for(int i=0;i<nums.length;i++){
nums[i]=input.nextInt();
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]);

}

}

  5、

假设一个数组的长度为5, int [ ] array = new int[ ] { 1, 3, -1, 5, -2};

现创建一个新数组 new Array[ ] ,要求新数组中的元素存顺序与原数组的元素逆序,并且如果原素组中的值小于0,在新数组中按0 存储。编写程序输出新数组中的元素。

package cn.bdqn.shuzu;

public class Demo8 {

/**
* @param args
*/
public static void main(String[] args) {
int[]newArray = {1,3,-1,5,-2};
int[]newnewArray = new int[5];
System.out.println("原数组为:");
for(int i=0;i<newArray.length;i++){
System.out.print(newArray[i]+"\t");
if(newArray[i]<0){
//将其中的负数变为0
newArray[i]=0;
}
newArray[i]=newArray[i];
}
System.out.println("\n逆序并处理后的数组为:");
for(int j =0;j<newArray.length;j++){
System.out.print(newArray[newArray.length-1-j]+"\t");
}
}
}

  6、有一组英文歌曲,按照歌曲名称的字母顺序从"A"到"Z"顺序排列,保存在一个数组中。现在增加一首新歌,将他插入数组,并保存歌曲名称升序排列。

 

package cn.bdqn.shuzu;

import java.util.Scanner;

public class Demo9 {

/**
* @param args
*/
public static void main(String[] args) {
// TODO 自动生成的方法存根
Scanner input=new Scanner(System.in);
String music[]={"Island","Ocean","Pretty","Sun"};
String audio[]=new String[5];
String name;
System.out.println("原数组:");
for(int i=0;i<music.length;i++){
System.out.println(music[i]+" ");
}
for(int i=0;i<music.length;i++){
audio[i]=music[i];
}
System.out.println("请输入歌曲名称");
name=input.next();
int index=audio.length;
for (int j=0;j<audio.length;j++){
if(audio[j].compareToIgnoreCase(name)>0){
index=j;
break;
}
}
for(int i=audio.length-1;i>index;i--){
audio[i]=audio[i-1];
}
audio[index]=name;
System.out.println("插入后数组为:");
for(int i=0;i<audio.length;i++){
System.out.println(audio[i]+" ");
}
}

}

posted @ 2017-08-14 17:37  这才是真的阿呆云飞  阅读(3231)  评论(0编辑  收藏  举报