當前位置:編程學習大全網 - 編程語言 - 急急急!!100分,給正確答案再加100!! 壹道關於java中delimiter的編程題。編得越全越好

急急急!!100分,給正確答案再加100!! 壹道關於java中delimiter的編程題。編得越全越好

中午回來寫完整的給妳。程序裏面加了壹點判斷,如果輸入的字符串不符合格是,會提示重新輸入,直到n個名字完全錄入

import java.util.Scanner;

public class ArrayOfStringsDemo {

public static void main(String[] args) {

final int n = 3; //編寫壹個int n,n表示***有多少個姓名

Name[] testArray = new Name[n];//創建壹個class為Name,size為n,名為testArray的array

int count = 0;

//輸入和讀取上面格式的String,壹***有n個姓名

while(count < n){

System.out.println("Please input name, use / to separate forename and surnmae, use # to end the name input");

Scanner scanner = new Scanner(System.in);

String nameStr = scanner.nextLine().trim();

if(nameStr.matches("\\w+/\\w+#")){//forename後面用/,姓結束用#。

String[] names = nameStr.split("/");

//對於每壹對兒成功輸入的String,建立壹個Name object,讓這個成為testArray的下壹個元素

testArray[count++] = new Name(names[0], names[1].substring(0, names[1].length() - 1));

}else{

System.out.println("Wrong name format, please input again!");

}

}

Name targetName = new Name("David", "Smith");//測試名字1,在array中

Name targetName2 = new Name("Name", "Chinese");//測試不在array中的名字

int index1 = findName(testArray, targetName);

if(index1 == 1){

System.out.println("Smith/David can be found in the array");

}else{

System.out.println("Smith/David is not int the array");

}

int index2 = findName(testArray, targetName2);

if(index2 == 1){

System.out.println("Name/Chinese can be found in the array");

}else{

System.out.println("Name/Chinese is not int the array");

}

}

//創建壹個名為findName的static method,包含兩個arguments,第壹個是壹個type Name的array,

//第二個是壹個name。當array裏的forename和surname都和第二個name相同的時候,

//findName returns第壹個array的index。如果不同,return -1

private static int findName(Name[] testArray, Name targetName) {

for(int i = 0; i < testArray.length; i++){

Name name = testArray[i];

if(name.getForename().equals(targetName.getForename()) && name.getSurname().equals(targetName.getSurname())){

return i;//完全相同,返回index

}

}

return -1;//找不到返回-1

}

}

class Name{//Name類

private String forename;

private String surname;

public Name(String forename, String surname){

this.forename = forename;

this.surname = surname;

}

public String getForename() {

return forename;

}

public String getSurname() {

return surname;

}

}

--------------測試

Please input name, use / to separate forename and surnmae, use # to end the name input

assdfkl;/asdkfsa;#

Wrong name format, please input again!

Please input name, use / to separate forename and surnmae, use # to end the name input

abcdef/1234#

Please input name, use / to separate forename and surnmae, use # to end the name input

David/Smith#

Please input name, use / to separate forename and surnmae, use # to end the name input

Name/England#

Smith/David can be found in the array

Name/Chinese is not int the array

  • 上一篇:蘇州科技大學江楓校區怎麽樣?
  • 下一篇:CPLD與FPGA的二者關系
  • copyright 2024編程學習大全網