黑马程序员技术交流社区
标题:
程序有错误,谁能帮debug呀
[打印本页]
作者:
15044393192
时间:
2016-3-28 22:17
标题:
程序有错误,谁能帮debug呀
package day12_StringBufferDemo;
import java.util.ArrayList;
import java.util.Scanner;
/*
* 需求:请编写程序,统计键盘录入的字符串中出现了几次字符串”java”,并测试
* 键盘输入:woyaoxuejava,xihuanjava,aijava,javajavawozuiai
*/
public class StringBufferDemo2 {
public static void main(String[] args) {
/*创建一个集合用来存储*/
ArrayList<String> arraylist=new ArrayList<String>();
Scanner sc=new Scanner(System.in);
System.out.println("请输入给定的一长串字符");
String str=sc.nextLine();
/*将输入的字符串存入集合
* 并定义一个计数器count
*/
arraylist.add(str);
int count=0;
for (int i = 0; i < arraylist.size(); i++) {
String s=arraylist.get(i);
if(s.equals("j")){
int idx=s.indexOf("j");
String target=str.substring(idx,idx+3);
if(target.equals("java")){
count++;
}
}
}
System.out.println(count);
}
}
作者:
BugBuff
时间:
2016-3-29 00:04
因为ArrayList集合中只有一个元素,所以arraylist.size() = 1;因此只能循环一次,另外由于subsubstring的特点是包前不包后,所以target = "jav",而非"java";所以count++无法被执行,输出结果为0;参考代码:
作者:
BugBuff
时间:
2016-3-29 00:08
/*
* 需求:请编写程序,统计键盘录入的字符串中出现了几次字符串”java”,并测试
* 键盘输入:woyaoxuejava,xihuanjava,aijava,javajavawozuiai
*/
public static void main(String[] args) {
/*创建一个集合用来存储*/
//ArrayList<String> arraylist=new ArrayList<String>();
Scanner sc=new Scanner(System.in);
System.out.println("请输入给定的一长串字符");
String str=sc.nextLine();
/*将输入的字符串存入集合
* 并定义一个计数器count
*/
//arraylist.add(str);
int count = 0;
while (true) {
int idx=str.indexOf("j");
if(idx != -1){
String target=str.substring(idx,idx+4);
str = str.substring(idx + 4);
if(target.equals("java")){
count++;
}
}else {
break;
}
}
System.out.println(count);
}
作者:
liu631980435
时间:
2016-3-29 00:31
我在围观!!!!!!!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2