4.4
这道题就是理清思路,每个功能用函数来实现就好
/*
如何判断一个字符是数字字符,Character.Digit(str,charAt(i))
如何判断一个字符是字母 Character.isLetter(str,charAt(i))
*/
import java.util.Scanner;
class test44{
public static void main(String [] args){
System.out.print("请输入密码 ");
Scanner scanner=new Scanner(System.in);
String str=scanner.next();
if(youxiaomima(str)){
System.out.print("密码是正确的 "+youxiaomima(str));
}
else {
System.out.print("密码是错误的 "+youxiaomima(str));
}
}
public static boolean youxiaomima(String str){
return mimaeight(str)&&mimaOnly(str)&&mimazhishao(str);
}
public static boolean mimaeight(String str){
if(str.length()>=8){
return true;
}
else {
return false;
}
}
public static boolean mimaOnly(String str){
boolean flag=false;
for(int i=0;i<str.length();i++){
if(!Character.isDigit(str.charAt(i))&&!Character.isLetter(str.charAt(i))){
flag=false;
return flag;
}
else{
flag=true;
return true;
}
}
return flag;
}
public static boolean mimazhishao(String str){
int count=0;
boolean flag=false;
for(int i=0;i<str.length();i++){
if(Character.isDigit(str.charAt(i))){
count++;
if(count>=2){
flag=true;
return flag;
}
}
}
return flag;
}
}
4.8
这道题就比较简单了,用下s.charAt(i)就行
import java.util.Scanner;
class test48{
public static void main(String[] args){
Scanner scanner=new Scanner(System.in);
System.out.print("输入字符串 ");
String str1=scanner.next();
System.out.print("输入字符 ");
char c=scanner.next().charAt(0);
count(str1,c);
}
public static void count(String str1,char c){
int count=0;
for(int i=0;i<str1.length();i++){
if(str1.charAt(i)==c){
count++;
}
}
System.out.print(count);
}
}
这道题考查就是字符串的反向遍历
import java.util.Scanner;
class test49{
public static void main(String[] args){
Scanner scanner =new Scanner(System.in);
String str1=scanner.next();
reverse(str1);
}
public static void reverse(String str1){
String str="";
for(int i=str1.length()-1;i>=0;i--){
str=str+str1.charAt(i);
}
System.out.print(str);
}
}
4.10
这道题用ASCII吗做就行了,看代码哦
import java.util.Scanner;
class test10{
public static void main(String[] args ){
Scanner scanner =new Scanner(System.in);
System.out.print("请输入字符串 ");
String str=scanner.next();
upper(str);
}
public static void upper(String str){
int count=0;
for(int i=0;i<str.length();i++){
char c=str.charAt(i);
if(c>='A'&&c<='Z'){
count++;
}
}
System.out.print(count);
}
}
4.11这道题考查字符串指针的应用,还是思想题
import java.util.Scanner;
class test11{
public static void main(String[] args){
System.out.print("输入字符串 ");
Scanner scanner =new Scanner(System.in);
String str1=scanner.next();
System.out.print("输入字符串 ");
Scanner scanner1 =new Scanner(System.in);
String str2=scanner1.next();
preef(str1, str2);
}
public static void preef(String str1,String str2){
if(str1.length()>=str2.length()){
for(int len=str2.length();len>=1;len--){
int i=0;
int j=len-1;
String sub=str2.substring(i,j+1);
if(str1.contains(sub)){
System.out.print("最大前缀是 "+sub);
break;
}
}
}
else{
for(int len=str1.length();len>=1;len--){
int i=0;
int j=len-1;
String sub=str1.substring(i,j+1);
if(str2.contains(sub)){
System.out.print("最大前缀是 "+sub);
break;
}
}
}
}
}
未完待续!