importjava.util.ArrayList;importjava.util.Collections;publicclassFindString{Strings="abcabcaaaaababcabc";//定义字符串ArrayListarraylist=newArrayList();//定义一个ArrayList对象用于存放得到的每个子子字符串的信息publicstaticvoidmain(String[]args){FindStringfindstring=newFindString();//声明类对象,因为main方法是静态的,findstring.arraylist.add(findstring.f("abc")+"个abc");//调用f方法得到包含子串的数量,并存入arrylist中findstring.arraylist.add(findstring.f("aa")+"个aa");findstring.arraylist.add((findstring.f("ab")-findstring.f("abc"))+"个ab");//因为去找"ab"子串是会去和"abc"匹配的,所以要减去Collections.sort(findstring.arraylist);//对list排序,默认是顺序Collections.reverse(findstring.arraylist);//调转顺序,得到逆序System.out.println(findstring.arraylist);//打印arraylist的内容}publicintf(Stringstr){intindex=0;intcount=0;while((index=s.indexOf(str))!=-1){s=s.substring(index+str.length());count++;}s="abcabcaaaaababcabc";returncount;}}
成都创新互联公司专注于企业全网整合营销推广、网站重做改版、保德网站定制设计、自适应品牌网站建设、H5场景定制、商城开发、集团公司官网建设、成都外贸网站制作、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为保德等各大城市提供网站开发制作服务。
这是类的多态中的一种,将ab强制转换成A类型(java中的类也是一种数据类型,向上提升类型,需要用到强制类型转换,如int a; byte b a=(int)b)
//PS:不太明白函数中String s的意义,所以忽略了。
import java.util.ArrayList;
import java.util.List;
public class CompoundString {
private static void generate(int n,ListString results) {
if(n==1){
return;
}
ListString resultsTemp_A = new ArrayListString();
ListString resultsTemp_B = new ArrayListString();
for(String str : results){
String temp_A = str+"A";
resultsTemp_A.add(temp_A);
String temp_B = str+"B";
resultsTemp_B.add(temp_B);
}
//此处results引用不能改变,否则任何修改对main函数中的results都无效
results.clear();
results.addAll(resultsTemp_A);
results.addAll(resultsTemp_B);
generate(n-1, results); // recursive
}
public static void main(String[] args) {
ListString results = new ArrayListString();
results.add("A");
results.add("B");
generate(8, results);
for(String str : results){
System.out.println(str);
}
}
}
import java.util.Scanner;
public class MaxData {
public static void main(String[] args) {
System.out.print("第一个数:");
Scanner scanner1 = new Scanner(System.in);
int input1 = scanner1.nextInt();
System.out.print("第二个数:");
Scanner scanner2 = new Scanner(System.in);
int input2 = scanner2.nextInt();
if (input1 input2) {
System.out.println("第一个数" + input1 + "大");
} else if (input1 input2) {
System.out.println("第二个数" + input2 + "大");
} else {
System.out.println("两个数" + input1 + "和" + input2 + "一样大");
}
scanner1.close();
scanner2.close();
}
}
您好。上面是我写的代码,以及代码运行结果的截图。麻烦看一下是否可以满足要求。