【String類、static、Arrays類、Math類】小練習
第一題:分析以下需求,並用程式碼實現
1.鍵盤錄入一個大字串,再錄入一個小字串
2.統計小字串在大字串中出現的次數
3.程式碼執行列印格式:
請輸入大字串:woaiheima,heimabutongyubaima,wulunheimahaishibaima,zhaodaogongzuojiushihaoma
請輸入小字串:heima
控制檯輸出:共出現3次
/*
package day08.homework;
/*
1.鍵盤錄入一個大字串,再錄入一個小字串
2.統計小字串在大字串中出現的次數
3.程式碼執行列印格式:
請輸入大字串:woaiheima,heimabutongyubaima,wulunheimahaishibaima,zhaodaogongzuojiushihaoma
請輸入小字串:heima
控制檯輸出:共出現3次
*/
import java.util.Scanner;
public class test1 {
public static void main(String[] args) {
System.out.println("請輸入大字串:");
String strBig=new Scanner(System.in).next();
System.out.println("請輸入小字串:");
String strSmall=new Scanner(System.in).next();
int count=0;
int index;
for (int i = 0; i <strBig.length(); i++) {
//查詢引數字串在本字串當中首次出現的索引位置。如果沒有返回-1值。
//判斷,如果返回值不為-1,執行迴圈體,計數器+1;
while ((index=strBig.indexOf(strSmall))!=-1){
count++;
//擷取從(小字串首字母位置加上小字串長度)一直到字串末尾,返回新的字串
strBig=strBig.substring(index+strSmall.length());
}
}
System.out.println("共出現"+count+"次");
}
}
*/
第二題:分析以下需求,並用程式碼實現
定義String getStr()方法
功能描述:
獲取長度為5的隨機字串
字串由隨機的4個大寫英文字母和1個0-9之間(包含0和9)的整陣列成
英文字母和數字的順序是隨機的
/*
package day08.homework;
import java.util.Random;
/*
定義String getStr()方法
功能描述:
獲取長度為5的隨機字串
字串由隨機的4個大寫英文字母和1個0-9之間(包含0和9)的整陣列成
英文字母和數字的順序是隨機的
*/
public class Test2 {public static void main(String[] args) {
char[] ch2=getStr();
char[] ch3=new char[5];
//根據索引隨機取出ch2中的字元,存放到新的字元陣列ch3中,現在ch3中存放的是5個字母
Random random=new Random();
for(int i=0;i<ch3.length;i++){
char char1=ch2[random.nextInt(ch2.length)];
ch3[i]=char1;
}
//隨機取出一個字母替換成數字
int index=random.nextInt(ch3.length);
int num=random.nextInt(9)+48;
ch3[index]=(char)num;
System.out.println(ch3);
}
public static char[] getStr(){
//先把大小寫英文字母和數字儲存到字元數組裡,再隨機取出5個字元
char[] ch1=new char[26];
int count=0;
for(char c='A'; c<='Z';c++){
ch1[count++]=c;
}
/*for(char c='a'; c<='z';c++){
ch1[count++]=c;
}*/
return ch1;
}
}
*/
第三題:分析以下需求,並用程式碼實現
要求:完成程式碼(按照標準格式寫),然後在測試類中測試。
1.手機類Phone
屬性:品牌brand,價格price
無參構造,有參構造
行為:打電話call,發簡訊sendMessage,玩遊戲playGame
2.測試類
建立Phone類物件,呼叫Phone類中的方法
思考:假設所有的手機都有屬性螢幕的尺寸(int size),而且假設所有手機的螢幕尺寸為6,應該如何實現?
/*
package day08.homework;
/*
1.手機類Phone
屬性:品牌brand,價格price
無參構造,有參構造
行為:打電話call,發簡訊sendMessage,玩遊戲playGame
*/
public class Phone {
private String brand;
private double price;
static int size;
public void call() {
System.out.println("打電話");
}
public void sendMessage() {
System.out.println("發簡訊");
}
public void playGame() {
System.out.println("玩遊戲");
}
public Phone() {
}
public Phone(String brand, double price) {
this.brand = brand;
this.price = price;
}
public String getBrand() {
return brand;
}
public void setBrand(String brand) {
this.brand = brand;
}
public double getPrice() {
return price;
}
public void setPrice(double price) {
this.price = price;
}
public static int getSize() {
return size;
}
public static void setSize(int size) {
Phone.size = size;
}
}
*/
/*
package day08.homework;
/*
測試類
建立Phone類物件,呼叫Phone類中的方法
思考:假設所有的手機都有屬性螢幕的尺寸(int size),而且假設所有手機的螢幕尺寸為6,應該如何實現?
*/
public class PhoneTest {
public static void main(String[] args) {
Phone ph=new Phone();
Phone.setSize(6);
ph.setBrand("小米");
ph.setPrice(1999.0);
System.out.println(ph.getPrice()+"的"+ph.getBrand()+"手機尺寸為"+Phone.getSize());
ph.call();
ph.sendMessage();
ph.playGame();
System.out.println("================");
Phone ph2=new Phone();
ph2.setBrand("蘋果");
ph2.setPrice(8999.0);
System.out.println(ph2.getPrice()+"的"+ph2.getBrand()+"手機尺寸為"+Phone.getSize());
ph.call();
ph.sendMessage();
ph.playGame();
}
}
*/