创建一个长度是100的字符串数组
使用长度是2的随机字符填充该字符串数组
统计这个字符串数组里重复的字符串有多少种
java.lang.Character.isLetterOrDigit(int codePoint) 确定指定字符(Unicode代码点)是一个字母或数字。
字符被确定是字母或数字,如果不是isLetter(codePoint) 也不是 isDigit(codePoint) 的字符,则返回true。
package Fengzhaung;
public class compete1 {
//创建一个长度是100的字符串数组
//使用长度是2的随机字符填充该字符串数组
//统计这个字符串数组里重复的字符串有多少种
public static String randomString(int length){
//产生随机字符串的方法
String result="";
for (int i = 0; i <length; i++) {
while (true){
char c=(char)(Math.random()*('z'-'0'+1)+'0'); //z-0闭区间
if (Character.isLetterOrDigit(c)){//确定是否是字母和数字
result+=c;
break;
}
}
}
return result;
}
public static void main(String[] args) {
String[]s=new String[100];
//生成随机字符串
for (int i = 0; i <s.length; i++) {
s[i]=randomString(2);//字符串长度为2
}
for (int i = 0; i <s.length ; i++) {
System.out.print(s[i]+" ");
if(i%20 == 19)
System.out.println("");
}
// for(String sub:s){
// System.out.println(sub);
// }
//统计重复字符串
int count=0;
boolean flag=false;
String result="";
String[]ss=s;//为了保留原字符串数组s,所以新创建了ss
for (int i = 0; i <ss.length-1 ; i++) {
for (int j =i+1; j <ss.length ; j++) {
if(ss[i]==" ")
break;
if (ss[i].equals(ss[j])){
ss[j]=" ";
flag=true;
}
if (flag){
result+=ss[i]+" ";
count++;
flag=false;
}
}
}
System.out.println("\n重复的字符串共有" + count +"种,分别是:\n"+result);
}
}
package Fengzhaung;
public class compete1 {
//创建一个长度是100的字符串数组
//使用长度是2的随机字符填充该字符串数组
//统计这个字符串数组里重复的字符串有多少种
public static String randomString(int length){
//产生随机字符串的方法
String result="";
for (int i = 0; i <length; i++) {
while (true){
char c=(char)(Math.random()*('z'-'0'+1)+'0'); //z-0闭区间
if (Character.isLetterOrDigit(c)){//确定是否是字母和数字
result+=c;
break;
}
}
}
return result;
}
public static void main(String[] args) {
String[]s=new String[100];
//生成随机字符串
for (int i = 0; i <s.length; i++) {
s[i]=randomString(2);//字符串长度为2
}
for (int i = 0; i <s.length ; i++) {
System.out.print(s[i]+" ");
if(i%20 == 19)
System.out.println("");
}
// for(String sub:s){
// System.out.println(sub);
// }
//统计重复字符串
int count=0;
boolean flag=false;
String result="";
String[]ss=s;//为了保留原字符串数组s,所以新创建了ss
for (int i = 0; i <ss.length-1 ; i++) {
for (int j =i+1; j <ss.length ; j++) {
if(ss[i]==" ")
break;
if (ss[i].equals(ss[j])){
ss[j]=" ";
flag=true;
}
if (flag){
result=ss[i]+" ";
count++;
flag=false;
System.out.println("重复的第"+count+"个字符是"+result+"位置是"+(i+1)+"和"+(j+1));
}
}
}
}
}