精华内容
下载资源
问答
  • Java字符串查重复字符串

    千次阅读 2018-08-21 23:08:48
    键盘录入一个大字符串,再录入一个小字符串  2.统计小字符串在大字符串中出现的次数  3.代码运行打印格式:  请输入大字符串:woaiheima,heimabutongyubaima,wulunheimahaishibaima,zhaodaogongzuojiushiha...

    今天是来到黑马程序员第九天,第八天时候老师布置的作业如下

    分析以下需求,并用代码实现
        1.键盘录入一个大字符串,再录入一个小字符串
        2.统计小字符串在大字符串中出现的次数
        3.代码运行打印格式:
            请输入大字符串:woaiheima,heimabutongyubaima,wulunheimahaishibaima,zhaodaogongzuojiushihaoma
            请输入小字符串:heima
        大字符串变为字符数组,五个字符的数组组成字符串,与小字符串比较
            控制台输出:共出现3次

    分析:根据所学知识,键盘输入使用Scanner类通过new一个sc对象出来。要统计大字符串中小字符串出现的次数。我是这么想的,把大字符串转化为字符数组,然后把每个字符数组元素加空字符串以此类推直至新的字符串与后面的字符串等长为止,然后进行判断。代码如下

    package demo2;
    
    import java.util.Scanner;
    
    /*请输入大字符串:woaiheima,heimabutongyubaima,wulunheimahaishibaima,zhaodaogongzuojiushihaoma
            请输入小字符串:heima
    共出现3次*/
    public class Demo2 {
        public static void main(String[] args) {
            Scanner sc = new Scanner(System.in);
            System.out.println("输入大字符串");
            String big = sc.next();
            System.out.println("输入小字符串");
            String small = sc.next();
            char[] chBig = big.toCharArray();
            System.out.println(chBig.length);
            int count = 0;
            String nwe = "";
            for (int i = 0; i < chBig.length - small.length(); i++) {
                for (int t = 0; t < small.length(); t++) {
                    nwe += chBig[t + i];
                }
                System.out.println(nwe);
                if (nwe.equals(small)) {
                    count++;
                    nwe = "";
                } else {
                    nwe = "";
                }
    
            }
    
            System.out.println("共出现" + count + "次");
        }
    
    
    }

    代码最开始出现了数组越界,以及字符数组转到字符串错误,

    ps1:字符数组转字符串用Arrays.toString方法时候发现字符串是每个字符左右都有[]的,后来想到任何类型加空字符串都是字符串,所以才有了接下来的想法。虽然这个程序的思想很傻,但是却是我第一时间想到的。

    ps2:最开始思考时候想到了数组越界的问题,因为当大字符串走到倒数几个时候,也就是与小字符串等长,那个时候字符数组再往后加字符,就会加到数组长度外面,也就是数组越界,后来写着写着忘了这一点。今天找了半个小时的bug终于出来了,特此来发博。希望我的想法能够给你一点点提示。同时也告诫自己有什么想法一定要写下来,不能盲目求快。切记欲速则不达。

    展开全文
  •  // 获取字符串中的子字符串 if (tempStr.equals(subStr)) { count++; cursor += subStrLen; } else { cursor++; } } System.out.println(subStr + "出现在" + str + "中的次数为" + count + "次...

    展开全部

    public class FindSubStringClass {

    /**

    * @param args

    */

    public static void main(String[] args) {

    32313133353236313431303231363533e4b893e5b19e31333264636165// TODO Auto-generated method stub

    String str = "abcdabcdabcdabcd";

    String subStr = "abcd";

    int cursor = 0, subStrLen = subStr.length(), totalStrLen = str.length();

    int count = 0; // 表示重复字符的个数

    while ((cursor + subStrLen) <= totalStrLen) {

    String tempStr = str.substring(cursor, cursor + subStrLen); // 获取字符串中的子字符串

    if (tempStr.equals(subStr)) {

    count++;

    cursor += subStrLen;

    } else {

    cursor++;

    }

    }

    System.out.println(subStr + "出现在" + str + "中的次数为" + count + "次");

    }

    }

    c4e01f7f53b9f0c22c38f2284241ebea.png

    展开全文
  • import java.util.HashMap; /** @author sq @date 2020年6月8日 @Desription: TODO */ public class Test { public static void main(String[] args) { String str=“adsadsadasdas21”; count(str); } ...

    /**
    *
    */
    package Array;

    import java.util.HashMap;

    /**

    • @author sq

    • @date 2020年6月8日

    • @Desription: TODO
      */
      public class Test {
      public static void main(String[] args) {
      String str=“adsadsadasdas21”;
      count(str);

       	}
              public static void count(String str){
           	   char[] chars=str.toCharArray();
           	   HashMap<Character,Integer> hm =new HashMap();
           	   for (char c : chars) {
       			if (!hm.containsKey(c)) {
       				hm.put(c, 1);
       			}else{
       				hm.put(c, hm.get(c)+1);
       			}
       		}
           	   for (Character key : hm.keySet()) {
       			System.out.println(key+"------》"+hm.get(key));
       		}
              }
      

    }

    在这里插入代码片/**
     * 
     */
    package Array;
    
    import java.util.HashMap;
    
    /**
     * @author sq
     * @date 2020年6月8日
     * @Desription: TODO
     */
    public class Test {
                   public static void main(String[] args) {
    String str="adsadsadasdas21";
    count(str);
                	   
                	   
    			}
                   public static void count(String str){
                	   char[] chars=str.toCharArray();
                	   HashMap<Character,Integer> hm =new HashMap();
                	   for (char c : chars) {
    					if (!hm.containsKey(c)) {
    						hm.put(c, 1);
    					}else{
    						hm.put(c, hm.get(c)+1);
    					}
    				}
                	   for (Character key : hm.keySet()) {
    					System.out.println(key+"------》"+hm.get(key));
    				}
                   }
    }
    
    

    a++ —》先用后加
    ++a ----》先加后用
    a=a+1;
    a+=1; --》可以自动升级装箱

    展开全文
  • 查询字符串中的最长重复子串

    千次阅读 2018-06-11 11:38:59
    要查询字符串中的子串,并且子串中存在的,比他短的子串不再计数package ***.service; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import ...

       要查询字符串中的子串,并且子串中存在的,比他短的子串不再计数

    package ***.service;
    
    import java.util.ArrayList;
    import java.util.HashMap;
    import java.util.List;
    import java.util.Map;
    
    import com.google.common.base.Utf8;
    
    
    public class T {
    
    
    	public static void main(String[] args)
    	{
    		String str="2018新款夏无袖雪纺女连衣裙连衣裙女装女装中长款休闲显瘦连衣裙修身裙子";
    		HashMap<String,Integer> map=new HashMap<>();
    		List<String> dupStr=new ArrayList<>();
    		int e=str.length();//比较的
    		for(int i=e-1;i>1;i--)
    		{
    			for(int s=0;s<i-1;s++)
    			{
    				String sourceStr=str.substring(s,i);
    				String replaceAll = str.replaceAll(sourceStr, "");
    				int length=replaceAll.length()+sourceStr.length();
    				if(e==length)
    				{
    					//只存在一个
    					continue;
    				}else
    				{
    					//重复了,记录下来
    					if(checkExist(dupStr,sourceStr))
    					{
    						map.put(sourceStr, (e-length)/sourceStr.length());
    						dupStr.add(sourceStr);
    					}
    				}
    			}
    			
    		}
    		
    	System.out.println(map+"   ");
    	}
    
    private static boolean checkExist( List<String> dupStr, String sourceStr )
    {
    	boolean needRecord=true;
    	for ( String str : dupStr)
    	{
    		if(str.contains(sourceStr))
    		{
    			return false;
    		}
    	}
    	return needRecord;
    }
    	
    	
    }

      比如再上述字符串中存在重复的字符串:2018新款夏无袖雪纺女连衣裙连衣裙女装女装中长款休闲显瘦连衣裙修身裙子

    测试的结果:{连衣裙=2, 女装=1} ,女装重复一次,连衣裙重复两次

    展开全文
  • 给定一个非空的字符串,判断它是否可以由它的一个子串重复多次构成。给定的字符串只含有小写英文字母,并且长度不超过10000。 示例 1: 输入: "abab" 输出: True 解释: 可由子字符串 "ab" 重复两次构成。 示例 2: ...
  • java集合对字符串或对象去重

    千次阅读 2019-01-21 00:00:25
    由于开发中遇到了集合中筛选重复字符串或对象的操作,下面记录几种常用的方法,以备后续查询使用,直接上代码, /** * list去掉重复元素 * * @param datas * @return */ public static List&amp;amp...
  • 1、变量1.python不用事先声明变量,赋值过程中就包含了变量声明和定义的过程2.用“=”赋值,左边是变量名,...需要的时候自行资料吧1.2、 字符串运行以上代码的结果:1.3、列表 类似于C++或Java语言的数组,一个...
  • 经过网上查找做成了下面查询文章重复词的JAVA程序。 1 思 思路: (1)将文章(一个字符串存储)按空格进行拆分(split)后,存储到一个字符串(单词)数组中。 (2)定义一个Map,getkey是字符串类型,保存单词...
  • 给定一个字符串,找到它的第一个不重复的字符,并返回它的索引。如果不存在,则返回 -1。 案例: s = “leetcode” 返回 0. s = “loveleetcode”, 返回 2. 思路(参考别人的): 因为只有小写字母,所以使用int[] ...
  • Java集合 collection接口的主要继承接口和主要实现类 List(有序的Collection) ArrayList 排列有序可重复 底层使用数组 查找快,增删慢,因为不能有间隔,所有增删都需要移动数据 线程不安全 当容量不够的时候,...
  • distinct子句_字符串连接符_order by1.distinct2.字符串连接符 ||3.3.order by子句 1.distinct 用于去除重复行信息 查询所有的职位信息 select distinct job from emp; 查询所有员工的姓名和职位 distinct只能...
  • 最近一直在做Json字符串的拼接工作。具体就是:按照接口开发文档,将数据库的数据查询出来,然后组成接口文档的Json形式传送给前端。所有最近都在和集合框架打交道,所以现在做一下简单的应用总结。第一:List集合1....
  • 使用Redis时, 查询出重复的数据出现$ref Object data = redisTemplate.opsForHash().get(TRANSACTIONREPORT, account.getMt4UserId()); 运行结果是: [{"account":"2121"},{"$ref":"$[0]"}] 如果接口返回上面...
  • 最近一直在做Json字符串的拼接工作。具体就是:按照接口开发文档,将数据库的数据查询出来,然后组成接口文档的Json形式传送给前端。所有最近都在和集合框架打交道,所以现在做一下简单的应用总结。 第一:List集合...
  • 简化 java 编程 SQL 冗余 语句,使用StringBuffer 中的append 追加拼成 字符串 在没有使用Hibernate框架的时候 ,每次在编写连接数据库查询的时候,都一直Ctrl +C,Ctrl +V 使用很多重复的sql语句,比如数据库的增...
  • 思路:按照顺序去字符,然后用空代替该字符,如何字符串的长度减少1,则为第一个没有重复的字符 2、Java代码 public class RetStr { public static void main(String[] args) { String s = "abac...
  • 1、给每种水果设定一个商品号,商品号是8个0-9的随机数,商品号码不能重复, 最小值 "00000001", 最大值 "99999999" 2、根据商品号查询对应的商品。 如果不到输出:“无此商品” 如果能到打印:”根据商品号...
  • Java基础漏补缺String str2 = "hello";...String池用来存放运行时中产生的各种字符串,并且池中的字符串的内容不重复。而一般对象不存在这个缓冲池,并且创建的对象仅仅存在于方法的堆栈区。brea...
  • 解决JAVA非对称加密不同系统加密结果不一致的问题发布时间:2020-10-24 11:51:15来源:脚本之家阅读:66作者:烈军最近在做一个项目,需要用到非对称加密,但是出现一个很诡异的情况,本地开发环境是Windows环境,...
  • varchar2 1~4000字节 可变长度字符串,与CHAR类型相比,使用VARCHAR2可以节省磁盘空间,但查询效率没有char类型高 数值类型 Number(m,n) m(1~38) n(-84~127) 可以存储正数、负数、零、定点数和精度为38位的浮点数...
  • Java基础漏补缺 String str2 = "hello";...String池用来存放运行时中产生的各种字符串,并且池中的字符串的内容不重复。而一般对象不存在这个缓冲池,并且创建的对象仅仅存在于方法的堆栈区。...
  • A*算法 BFS C++ DFS Dijkstra GoogleHOJ Java KMP LeetCode UVA 二分图二叉树 优先队列 位运算 凸包问题 分治动态规划 博弈论 卡特兰数 后缀数组 回溯大数据 字典树 字符串 并集 微软快速幂...
  • 最近在做微信开发,之前一直支付成功,但今天不知道怎么回事...那么如果改变呢,微信昵称本来是个带有表情的字符串,通过其他的测试,发现不带表情的微信昵称能支付通过,那么把带有表情的微信昵称中的表情去掉就可以了嘛,...
  • 点击上方“Java面试题精选”,关注公众号面试刷图,缺补漏>... 案例分析 1.1 案例场景假设银行提供了一些 API 接口,对参数的序列化有点特殊,不使用 JSON,而是需要我们把参数依次拼在一起构成一个大字符串按照...
  • 我的需求:计算字符串集合中“数值”出现的次数,然后在for循环中计算“数值”及出现的次数解决方案:1、使用collections类中的frequency(集合,查询参数)frequencypublic static int frequency(Collection>...
  • Java 简单实现对象数据去重处理

    千次阅读 2017-08-09 17:51:32
    这里有一个数据不重复的最简单的原理:字符串的hashcode比较,当然记录的唯一指标不是ID,而是数据本身,我们去掉ID再来比较是否重复就可以了。Java 模拟代码:package com.boonya.mongo.client; im...
  • 正则表达式知识详解系列,通过代码示例来说明正则表达式知识  ...1、查询一个字符串重复字或字母 2、提取html页面里的标题 /** * 回溯引用,前后一致匹配 * @date 2016-04-20 16:48:07 * @a

空空如也

空空如也

1 2 3 4 5 ... 12
收藏数 235
精华内容 94
关键字:

java字符串查重复

java 订阅