字串相關題幹:
題目1:
根據以下需求,用程式碼實現
1.程式執行後通過鍵盤錄入一個字串。要求字串中必須包含:大寫字母
2.如果錄入的字串中沒有大寫字母、要進行給出提示。然後程式可以繼續錄入字串
3.如果錄入的字串中有大寫字母。那麼統計這個字串中小寫字母、大寫字母、數字、其他字元出現的個數。程式結束
例如:
請輸入一個字串:
123456abc
您輸入的字串中沒有大寫字母。請重新輸入:
ABC456ghi$%^&D
大寫字母有:4個
小寫字母有:3個
數字有:3個
其他字元有:4個
package Work5;
import java.util.Scanner;
public class Str{
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
int big=0;
int smi=0;
int num=0;
int a=0;
while (true) {
System.out.println("請輸入一個字串");
String str1 = sc.next();
char[] chars = str1.toCharArray();
if (method(chars)) {
for (int i = 0; i < chars.length; i++) {
if(chars[i]>='A'&&chars[i]<='Z'){
big++;
}else if(chars[i]>='a'&&chars[i]<='z'){
smi++;
} else if(chars[i]>='0'&&chars[i]<='9'){
num++;
}else {
a++;
}
}
break;
}else {
System.out.println("沒有大寫字母,請重新輸入");
}
}
System.out.println("大寫字母有:"+big);
System.out.println("小寫字母有:"+smi);
System.out.println("數字字母有:"+num);
System.out.println("其它字母有:"+a);
}
public static boolean method(char[] arr){
for (int i = 0; i < arr.length; i++) {
if(arr[i]>='A'&&arr[i]<='Z'){
return true;
}
}
return false;
}
}
題目2:
遍歷下列字串,篩選出其中的數字和字母並按照數字在前字母在後的規則組成一個新的字串,把組成的新字串列印在控制檯。
public class Str {
public static void main(String[] args) {
String str1="csdfsg98498gv4s4gs64gss54vsd";
char[] chars = str1.toCharArray();
String num="";
String a="";
for (int i = 0; i < chars.length; i++) {
if(chars[i]>='0'&&chars[i]<='9'){
num+=chars[i];
}
if(chars[i]>='a'&&chars[i]<='z'){
a+=chars[i];
}
題目3:
請定義一個方法用於判斷一個字串是否是對稱的字串,並在主方法中測試方法。例如:“abcba”、"上海自來水來自海上"均為對稱字串。
package Work4;
public class Str {
public static void main(String[] args) {
String str = "打死你死打";
System.out.println(getMethod(str));
;
}
public static boolean getMethod(String str) {
StringBuilder sb = new StringBuilder(str);
String s = sb.reverse().toString();
if (str.equals(s)) {
return true;
}
return false;
}
}
題目4:
自定義一個方法,讓使用者輸入一個“QQ號碼”,在方法中判斷這個QQ號碼是否合法。
String qq;
驗證規則:
-
號碼長度必須是5—12位數字;
-
首位不能是0;1-9
後面的數字 0-9
package Work4;
public class Str {
public static void main(String[] args) {
String str = "762092597";
System.out.println(isQq(str));
;
}
public static boolean isQq(String str) {
int s = str.length();
if (s < 5 || s > 12) {
return false;
}
char[] chars = str.toCharArray();
for (int i = 0; i < chars.length; i++) {
if (chars[0] < '1' || chars[0] > '9') {
return false;
}
}
for (int i = 1; i < chars.length; i++) {
if (chars[i] < '0' || chars[i] > '9') {
return false;
}
}
return true;
}
}
題目5:
鍵盤輸入兩個字串,一個長,一個短,求短字串在長字串中出現的次數。
舉例:
abc字串在abcdefgabckbsdffabc字串中出現了 3次
replace(“abc”,"");
package Work4;
import java.util.Scanner;
public class Str{
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("請輸入一個長的字串");
String str2 = sc.next();
System.out.println("請輸入一個短的字串");
String str3 = sc.next();
String[] arr = str2.split(str3);
int i = arr.length - 1;
System.out.println("字串中出現了" + i + "次");
}
}
題目6:
定義方法,獲取一個包含4個字元的字串驗證碼,每一位字元是隨機選擇的字母和數字,可包含a-z,A-Z,0-9。
例如:aX3v
1 建立一個StringBuilder sb物件, 遍歷a-z 遍歷A-Z 遍歷0-9 把每一個字元 新增到StringBuilder 物件
2 sb for迴圈4次,獲取一個隨機數(返回是0到sb的長度)作為索引
3 用sb的charAt根據索引 獲取一個
package Work4;
import java.util.Random;
public class Str {
public static void main(String[] args) {
method();
}
public static void method() {
StringBuilder sb=new StringBuilder();
Random ra=new Random();
StringBuilder sb2=new StringBuilder();
for (char i = 'a'; i <= 'z'; i++) { //新增a-z
sb.append(i);
}for (char i = 'A'; i <='Z'; i++) { //新增A-Z
sb.append(i);
}for (int i = 0; i <=9; i++) { //新增0-9
sb.append(i);
}
for (int i = 0; i < 4; i++) {
int num= ra.nextInt(sb.length())+1; //獲取sb長度範圍內的4個隨機數作為索引
char c = sb.charAt(num); //根據索引將獲得對應位置資料
sb2.append(c); //將獲得對應位置資料新增到sb2中
}
String s = sb2.toString();
char[] chars = s.toCharArray();
for (int i = 0; i < chars.length; i++) { //遍歷sb2
System.out.print(chars[i]);
}
}
}
題目6;
我國的居民身份證號碼,由由十七位數字本體碼和一位數字校驗碼組成。請定義方法判斷使用者輸入的身份證號碼是否合法,並在主方法中呼叫方法測試結果。
規則為:號碼為18位,不能以數字0開頭,最後一位可以是數字或者大寫字母X,前17位只可以是數字。
package Work4;
public class Str {
public static void main(String[] args) {
String str = "41152419980723405X";
System.out.println(method(str));
}
public static boolean method(String str) {
int s = str.length();
char[] chars = str.toCharArray();
if (s > 18 || s < 18) { //號碼不為18位,
return false;
}
for (int i = 0; i < chars.length; i++) {
if (chars[0] < '0' && chars[0] > '0') { //不能以數字0開頭
return false;
}
}
for (int i = 1; i < chars.length - 1; i++) {
if (chars[i] < '0' && chars[i] > '9') {
return false;
}
}
for (int i = 0; i < chars.length; i++) {
if (i == 17) {
if (chars[i] == 'X') {
return true;
} else if (chars[i] >= '0' && chars[i] <= '9') {
return true;
} else {
return false;
}
}
}
return true;
}
}
相關文章
- 一道與 for 相關的字串面試題字串面試題
- 字串字尾相關字串
- 字串的相關函式字串函式
- 爬蟲入門(字串相關)爬蟲字串
- 字串相關演算法1-字串旋轉字串演算法
- 字串相關函式的實現字串函式
- leetcode —— 字串相關(28、344)LeetCode字串
- 出題相關
- 1-python 字串的相關操作Python字串
- Docker 相關問題Docker
- django相關問題Django
- ES相關面試題面試題
- electron相關問題
- 集合相關面試題面試題
- MySQL 字串擷取相關函式總結MySql字串函式
- Java相關問題整理Java
- PHP相關問題集合PHP
- 大模型相關問題大模型
- C語言相關的基礎字串函式C語言字串函式
- 解決ipa上傳反饋info.plist相關用途字串說明問題字串
- 關於盒模型相關的問題模型
- 關於 go-micro 相關問題Go
- mysql相關問題總結MySql
- 個人專案相關問題
- TCP相關面試題總結TCP面試題
- JSP 相關試題(四)JS
- [C++] STL相關面試題C++面試題
- Sql Mode及相關問題SQL
- Oracle MTS的相關問題Oracle
- python相關練習題Python
- RUST所有權相關問題Rust
- 瀏覽器相關問題瀏覽器
- python pip相關問題Python
- 【Java面試題】如何回答GC相關問題Java面試題GC
- 字串處理 Rabin-Karp (Rolling Hash)及相關LeetCode題目字串LeetCode
- 中介軟體相關問題整理
- Java中JVM相關面試題-整理JavaJVM面試題
- java語言相關的問題Java