第七章
1.写出八个java语言中的基本数据类型。
int hort long byte float double char boolean
2.编写java出现,现实接收用户输入的正整数,输出该数的阶乘。例如,输入数据4,则输出4!=1x2x3x4=24.要求:限制输入的数据为1~10,否则提示“无效数据”并结束程序
import java.util.Scanner;
public class No_2 {
public static void main(String[] args) {
int b, c = 1;
String e = "";
Scanner input = new Scanner(System.in);
System.out.print("请输入1-10的整数:");
int i = input.nextInt();
if (i >= 1 && i <= 10) {
for (int a = 1; a < i; a++) {
e += a + "*";
c *= a;
}
c *= i;
e += i + "=" + c;
System.out.println(e);
} else {
System.out.println("无效数据!");
}
}
}
3.编写java程序,实现输出1~100中所以不能被7整除的数,并求其和。重点内容要求:输出四个数据换行显示。
public class No_3 {
public static void main(String[] args) {
System.out.println("1-100之间不能被7整除的数据为");
int a=0;
int b=0;
for(int i=1;i<=100;i++){
if(i%7!=0){
a=a+i;
b++;
if(b%4==0){
System.out.println(i+"\t");
}else{
System.out.print(i+"\t");
}
}
}
System.out.println("");
System.out.println("数据之和为:"+a);
}
}
第八章
1.阅读以下点,找出其中的错误。
string [] scores = new String[5]{"Mike","Lily","Sunny","Jenny","Ana"} //new Strubg[5] 此处错误
for (int i= 0; i <= scores.length;i++){
System.out.printin(scores[i]) ;
2.一次输入五句话,然后将他逆序输出。运行结果如图所示。
import java.util.Scanner;
public class No_2 {
public static void main(String[] args) {
String[] a = new String[5];
Scanner input = new Scanner(System.in);
System.out.println("请输入五句话:");
for (int i = 0; i < 5; i++) {
System.out.print("第" + (i + 1) + "句话:");
a[i] = input.next();
}
System.out.println("");
System.out.println("逆序输出的五句话:");
for (int o = 1; o <= a.length; o++) {
System.out.println(a[a.length - o]);
}
}
}
3.某百货商场当日消费积分最高的八名顾客,他们的积分分别是18.25.7.36.13.2.89.63.编写程序找出最低的积分及他在数组中的原始位置。
public class No_3 {
public static void main(String[] args) {
int[] a = new int[] { 18, 25, 7, 36, 13, 2, 89, 63 };
int min = a[0];
int x = 0;
for (int i = 0; i < a.length; i++) {
if (min > a[i]) {
min = a[i];
x = i;
}
}
System.out.println("下标为:" + x + " " + "值为:" + a[x]);
}
}
4.从键盘上输入10个整数,合法值为1.2或3,不是这三个数则为非法数字。试编程统计每个整数和非法数字的个数。
import java.util.Scanner;
public class No_4 {
public static void main(String[] args) {
int[] a = new int[10];
int[] b = new int[] { 0, 0, 0, 0 };
Scanner input = new Scanner(System.in);
System.out.println("请输入10个整数:");
for (int i = 0; i < 10; i++) {
a[i] = input.nextInt();
switch (a[i]) {
case 1:
b[0] += 1;
break;
case 2:
b[1] += 1;
break;
case 3:
b[2] += 1;
break;
default:
b[3] += 1;
break;
}
}
for (int l = 0; l < 3; l++) {
System.out.println("数字" + (l + 1) + "的个数:" + b[l]);
}
System.out.println("非法数字的个数:" + b[3]);
}
}
5.假设有一个长度为5的数组,如下所示,
int[] array =new int(](1,3,-1,5,-2};
现创建一个新数组 newArayl ].要求新数组中元素的存放顺序 与原数组中的元素逆序,并且如果原数组中的元素值小于0,在新数组中按0存储。试编程输出新数组中的元素,程序运行结果如图8.17所示。
public class No_5 {
public static void main(String[] args) {
int[] a = new int[] { 1, 3, -1, 5, -2 };
int[] b = new int[5];
System.out.println("原组为:");
for (int i = 0; i < 5; i++) {
System.out.print(a[i] + " ");
}
System.out.println("");
System.out.println("逆序并处理后的数组为:");
for (int o = 0; o < a.length; o++) {
if (a[a.length - (o + 1)] < 0) {
continue;
}
b[o] = a[a.length - (o + 1)];
}
for (int i = 0; i < 5; i++) {
System.out.print(b[i] + " ");
}
}
}
6.有一组英文歌曲,按照歌曲名称的字母顺序从A到Z顺序排列,保存在一个数组中。现在新增一首新歌,将他插入数组,并保持歌曲名称升序排列。
import java.util.Scanner;
public class No_6 {
public static void main(String[] args) {
int weizhi = 0;
Scanner input = new Scanner(System.in);
String[] a = new String[] { "Island", "Ocean", "Pretty", "Sun" };
String[] b = new String[a.length + 1];
System.out.print("插入前的数组为:");
for (int t = 0; t < a.length; t++) {
b[t] = a[t];
System.out.print(a[t] + " ");
}
System.out.println();
System.out.print("请输入歌曲名称:");
String gequ = input.next();
for (int i = 0; i < a.length; i++) {
if (a[i].compareToIgnoreCase(gequ) > 0) {
weizhi = i;
break;
}
}
for (int j = b.length - 1; j > weizhi; j--) {
b[j] = b[j - 1];
}
b[weizhi] = gequ;
System.out.print("插入后的数组为:");
for (int t = 0; t < b.length; t++) {
System.out.print(b[t] + " ");
}
}
}