2018.9.10作業
阿新 • • 發佈:2018-11-01
第七章
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] + " ");
}
}
}