1. 程式人生 > >十五章作業

十五章作業

1.根據你的理解,簡要說明比較運算子(==)和equal()方法判斷兩個字串是否相等有什麼區別。
答案:equals能每個比較,==是比較標識地址
2.輸入五種水果的英文名稱(如葡萄grape、橘子orange、香蕉banana、蘋果apple、桃peach),編寫一個程式,輸出這些水果的名稱(按照在字典裡出現的先後順序輸出)。
答案:package lesson15;

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

public class No_1 {
public static void main(String[] args) {

String[] shuiguo=new String[5];
Scanner input=new Scanner(System.in);
for (int i = 0; i < shuiguo.length; i++) {
	System.out.print("請輸入第"+(i+1)+"水果:");
	 shuiguo[i]=input.next();
	System.out.println();
	
	
}Arrays.sort(shuiguo);
System.out.println("這些水果在字典中出現的順序是:");
for (int j = 0; j < shuiguo.length; j++) {
	System.out.print(shuiguo[j]+"\t");
}
}	

}

3.假設中國人的姓都是單個字,請隨機輸入一個人的姓名,然後輸入一個人的姓名,然後輸出姓和名
答案:package lesson15;

public class No_2_1 {
public String xing(String xing){

	return xing.substring(0,1);
}
public String ming(String ming){
	
	return ming.substring(1);
}

}

package lesson15;

import java.util.Scanner;

public class No_2 {
public static void main(String[] args) {
No_2_1 b=new No_2_1();
Scanner input=new Scanner(

System.in);
System.out.print(“請輸入您的姓名”);
String a=input.next();
System.out.println(“姓氏:”+b.xing(a));
System.out.println(“名:”+b.ming(a));
}

}

4.錄入使用者的18位身份證號碼,從中提取使用者的生日。
答案:package lesson15;

public class No_3_1 {
public String shengri(String shengri){
return shengri.substring(6,13);
}

}

package lesson15;

import java.util.Scanner;

public class No_3 {

public static void main(String[] args) {
	// TODO Auto-generated method stub
	No_3_1 c=new No_3_1();
	Scanner input=new Scanner(System.in);
	System.out.print("請輸入您的18位身份證號碼:");
	String a=input.next();
	int d=0;
	while(true){if(a.length()!=18){
		if(d>5){
			System.out.println("傻逼,身份證都不會輸入");
		}
		d++;
		System.out.print("輸入錯誤,請輸入18位身份證號碼:");
		a=input.next();
		
	}else{
		System.out.println("您的生日為:"+c.shengri(a));
		System.exit(0);
	}
	}
}

}

5.編寫一個字元瀏覽器,輸入字串及需要查詢的字元或字串,瀏覽器自動定位所有出現該字元或字串的位置。
答案:package lesson15;

public class No_4_1 {
public void cha(String g,String f){
int a=0;
int b=a;
int length=g.length();
System.out.println(f+“出現的位置是:”);
do{
a=g.indexOf(f, b);
if(a==-1){
System.out.println(“沒有”);
break;
}
System.out.println(a+1+"");
b=a+f.length();
}while(b<=length);

}
}

package lesson15;

import java.util.Scanner;

public class No_4 {

public static void main(String[] args) {
	// TODO Auto-generated method stub
	No_4_1 a=new No_4_1();
	Scanner input=new Scanner(System.in);
	System.out.print("請輸入一段字元");
	String b=input.next();
	System.out.print("請輸入您想查詢的字元");
	String c=input.next();
	a.cha(b, c);

}

}

6.對錄入的資訊進行有效性驗證。
錄入會員生日時,形式必須是“月/日”,如“09/12”。錄入的密碼位數必須為6~10位。允許使用者重複錄入,直到輸入正確為止

答案:package lesson15;

import java.sql.Date;
import java.util.Scanner;

public class No_5_1 {

public static void main(String[] args) {
	Scanner input=new Scanner(System.in);
	boolean a=true;
	while(a){
		System.out.println("請輸入會員生日:00/00");
		String b=input.next();
		if(b.indexOf("/")!=2){
			System.out.println("輸入錯誤,格式為:00/00");
		}else{
			System.out.println(b);
			a=false;
		}
	}a=true;
	while(a){
		System.out.print("請輸入6-10位密碼:");
		String mi=input.next();
		if(mi.length()<6||mi.length()>10){
			System.out.println("密碼不符合要求");
		}else{
			System.out.println("密碼為:"+mi);
		}
		a=false;
	}
}	

}