A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 15044393192 中级黑马   /  2016-3-28 22:17  /  513 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

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);
        }
}

3 个回复

倒序浏览
因为ArrayList集合中只有一个元素,所以arraylist.size() = 1;因此只能循环一次,另外由于subsubstring的特点是包前不包后,所以target = "jav",而非"java";所以count++无法被执行,输出结果为0;参考代码:
回复 使用道具 举报
/*
        * 需求:请编写程序,统计键盘录入的字符串中出现了几次字符串”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);
    }
回复 使用道具 举报
我在围观!!!!!!!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马