精华内容
下载资源
问答
  • 连续输入字符串(输入2次,每个字符串长度小于100) 输出到长度为8的新字符串数组 利用String的substring来进行拆分 import java.util.*; public class Main{ public static void main(String[] args){ Scanner sc = ...

    连续输入字符串(输入2次,每个字符串长度小于100)
    输出到长度为8的新字符串数组

    利用String的substring来进行拆分

    import java.util.*;
    public class Main{
        public static void main(String[] args){
            Scanner sc = new Scanner(System.in);
            while(sc.hasNext()){
                String str1 = sc.nextLine();
                String str2 = sc.nextLine();
                int size1 = str1.length() / 8;
                if(str1.length() % 8 != 0){
                    size1 = size1 + 1;
                    int t = 8 - str1.length() % 8;
                    for(int i = 0;i < t + 1;i++){
                        str1 = str1 + "0";
                    }
                }
                 List<String> list = new ArrayList<String>();
                for(int i = 0;i < size1;i++){
                	   //利用String的substring来进行拆分
                        String str = str1.substring(i * 8 , (i + 1) * 8);
                        list.add(str);
                }
                for(String cc : list){
                    System.out.println(cc);
                }
                
                int size2 = str2.length() / 8;
                if(str2.length() % 8 != 0){
                    size2 = size2 + 1;
                    int t = 8 - str2.length() % 8;
                    for(int i = 0;i < t + 1;i++){
                        str2 = str2 + "0";
                    }
                }
                 List<String> list1 = new ArrayList<String>();
                for(int i = 0;i < size2;i++){
                        String str = str2.substring(i * 8 , (i + 1) * 8);
                        list1.add(str);
                }
                for(String cc : list1){
                    System.out.println(cc);
                }
            }
        }
    }
    

    运行结果
    在这里插入图片描述

    展开全文
  • 牛客网的一道算法题,自己写的java实现并通过测试。 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scanner =new Scanner(System.in); while (scanner....

    牛客网的一道算法题,自己写的java实现并通过测试。例如输入aaaaavvvvvvvvvcccc,则输出vvvvvvvvv;输入asdczxcweqwe,输出a

    import java.util.Scanner;
    
    public class Main {
        public static void main(String[] args) {
            Scanner scanner =new Scanner(System.in);
            while (scanner.hasNext()) {
                String line =scanner.nextLine();
                char[] chars=line.toCharArray();
                int length=chars.length;
                int maxlength=0;
                //结果
                String maxSubstring="";
                //暂存最长字符串的始末位
                int begin=0,end=1;
                //暂存最长字符,用来比较ascii码
                char c=' ';
                for (int i=0;i<length;i++){
                    if (i==0){
                        c=chars[0];
                        maxSubstring=c+"";
                        maxlength=1;
                    }else{
                        if (chars[i]==chars[i-1]){
                            if (end<length-1){
                                end++;
                            }else{
                                end=length;
                            }
                            if (end-begin>maxlength){
                                maxlength=end-begin;
                                c=chars[i];
                                maxSubstring=line.substring(begin,end);
                            }else if(end-begin==maxlength){
                                //选择ascii码较小的那个子串
                                if (chars[i]<c){
                                    c=chars[i];
                                    maxSubstring=line.substring(begin,end);
                                    maxlength=end-begin;
                                }
                            }
                            //没有连续子串的情况,取ascii码小的那个
                        }else if(chars[i]!=chars[i-1]&&maxlength==1&&chars[i]<c) {
                            c=chars[i];
                            begin=i;
                            end =i+1;
                            maxlength=1;
                            maxSubstring=chars[i]+"";
                        }else {
                            begin=i;
                            if (i<length-1){
                                end =i+1;
                            }else{
                                end=length;
                            }
                        }
                    }
                }
                System.out.print(maxSubstring);
            }
    
        }
    }
    
    
    
    
    

     

    展开全文
  • 输入个字符串,在一行内输出其最长的数字子串。若有多个最长的数字子串,则将它们全部输出(按原字符串的相对位置)。 示例: 输入:abcd12345ed125ss123456789 输出:123456789 思路: 字符串中非数字元素...

    要求:

    输入一个字符串,在一行内输出其最长的数字子串。若有多个最长的数字子串,则将它们全部输出(按原字符串的相对位置)。

    示例:

    输入:abcd12345ed125ss123456789
    输出:123456789

    思路:

    字符串中非数字元素替换为字母a,以a为间隔将其分割为数组,数组中最长的元素即为所求。

    实现:

    import java.util.Scanner;
    
    public class FindNum {
        public static void main(String[] args) {
            Scanner sc = new Scanner(System.in);
            while (sc.hasNext()) {
                String str1 = "";
                String str = sc.nextLine();
                for (char ch : str.toCharArray()) {
                    if (ch >= '0' && ch <= '9') {
                        str1 += ch;
                    } else {
                        str1 += "a";
                    }
                }
                String[] str2 = str1.split("a");
                int max = 0;//记录最长的连续数字串的长度
                for (int i = 0; i < str2.length; i++) {
                    max = str2[i].length() > max ? str2[i].length() : max;
                }
                for (int i = 0; i < str2.length; i++) {
                    if (str2[i].length() == max)
                        System.out.print(str2[i]);
                }
            }
        }
    }
    

    执行结果:
    在这里插入图片描述

    展开全文
  • 字符串的声明字符串是内存中连续排列的0个或多个字符。不变字符串是指字符串一旦创建,其内容就不能改变,Java中使用String类来处理不变字符串,在对String类的实例进行查找、比较、拼接等操作时,既不能输入新字符...

    字符串的声明

    字符串是内存中连续排列的0个或多个字符。不变字符串是指字符串一旦创建,其内容就不能改变,Java中使用String类来处理不变字符串,在对String类的实例进行查找、比较、拼接等操作时,既不能输入新字符,又不能改变字符串的长度。

    Java程序中的字符串分为常量和变量两种,其中,字符串常量使用双引号括起来的一串字符,系统为程序中出现的字符串常量自动创建一个String对象。例如:

    System.out.println("hello world!");

    这句话将创建一个String对象,值为“hello world!”。

    对于字符串变量,在使用之前要显式声明,并进行初始化。

    字符串的声明方式有三种:直接创建: String str1 = "Hello";

    字符串是对象,虽然我们在这里没有用new创建对象,其实是编译器给我们做了这些操作。这种创建的字符串对象有一个特点,如果同样的对象如果存在了,就不会创建一个新的对象,而是指向了同样的对象。例如String str2 = "Hello";,则str1和str2是指向了字符串池中同样的内存地址,即 str1 == str2。使用字符串连接创建: String str = "Hello" + "World";

    这种形式其实可以看做是第一种的形式的特殊形式。 "Hello" + "World"在编译期会被自动折叠为常量“HelloWorld”,所以,最后只会创建一个对象:String str = "HelloWorld";JDK1.7开始,javac会进行常量折叠,全字面量字符串相加是可以折叠为一个字面常量,而且是进入常量池的。这个问题涉及到了字符串常量池和字符串拼接。

    String a="a"+"b"+"c";

    通过编译器优化后,得到的效果是:

    String a="abc";new创建字符串: String str1 = new String("Hello");

    用new关键字创建的字符串每次都会创建一个新的对象。即使这时创建一个字符串

    String str2 = new String("Hello");

    str1与str2是两个对象,str1 != str2。注意点:String str = new String("Hello"); 会产生几个对象?

    如果字符串池里面没有“Hello”对象,会在字符串池里面生成一个对象,然后再生成一个字符串对象,str指向这个对象;如果字符串池里面已经有了“Hello”对象,则只会生成一个对象,str指向这个对象。

    字符串的操作

    字符串创建以后,可以使用字符串类中的方法对它进行操作。日常开发中常用的操作字符串的方法有:String当中与获取相关的常用方法

    public int length():获取字符串当中含有的字符个数,拿到字符串长度。

    public String concat(String str):将当前字符串和参数字符串**拼接**成为返回值新的字符串。

    public char charAt(int index):获取指定索引位置的单个字符。(索引从0开始。)

    public int indexOf(String str):查找参数字符串在本字符串当中首次出现的索引位置,如果没有返回-1值。字符串的截取方法

    public String substring(int index):截取从参数位置一直到字符串末尾,返回新字符串。

    public String substring(int begin, int end):截取从begin开始,一直到end结束,中间的字符串。

    备注:[begin,end),包含左边,不包含右边。字符串转换的方法

    public char[] toCharArray():将当前字符串拆分成为字符数组作为返回值。

    public byte[] getBytes():获得当前字符串底层的字节数组。

    public String replace(CharSequence oldString, CharSequence newString):

    将所有出现的老字符串替换成为新的字符串,返回替换之后的结果新字符串。

    备注:CharSequence意思就是说可以接受字符串类型。分割字符串

    public String[] split(String regex):按照参数的规则,将字符串切分成为若干部分。

    注意事项:

    split方法的参数其实是一个“正则表达式”。

    转义必须写"\."(两个反斜杠)

    如果split失败则返回一个空字符串数组,比如split(".")就会失败,正则不明确,程序不知道怎么切了。

    字符串的比较

    String字符串可以使用“==”和equals()方法比较。当两个字符串使用“==”进行比较时,比较的是两个字符串在内存中的地址。当两个字符串使用equals方法比较时,比较的是两个字符串的值是否相等。

    上面例子中,s1 和 s2 使用相同的字符串常量来定义,相同的字符串常量在系统内部只存在一个,即 s1 和 s2 都指向这同一个常量,所以使用 “==” 或 “equals”方法来判断时,结果都是相等的。而 s3 是使用字符串常量创建的另一个对象,虽然它与 s1 所含的字符是一样的,但却是不同的对象,故使用 “==” 判断时,s1 和 s3 是不相等的。类似的,s4 也是另一个对象,使用 “==” 判断时,s3 和 s4 页是不相等的。而 s5 与 s1 指向同一个实例,所以他们在两种方式下的比较都是相等的。

    String、StringBuffer和StringBuilder的关系

    String类的对象实例是不可变的,一旦创建就确定下来,对字符串施加操作后并不改变字符串本身,而是有生成了一个实例。对于那些需要改变内容并有许多操作的字符串,可以使用StringBuffer类或者StringBuilder类。它们之间的区别如下:String是字符串常量,一旦创建就不能修改。对于已经存在的String对象的修改都是重新创建一个新的对象,然后把新的值保存进去。String类是final修饰的,不能被继承。覆盖了equals方法和hashCode()方法。

    StringBuffer是字符串可变对象,可以对字符串进行操作,修改字符串原有值时不会新建一个对象。执行效率较慢,但是线程安全。StringBuffer没有覆盖equals方法和hashCode()方法。可以动态的拼接字符换,使用 append() 方法。

    StringBuilder也是字符串可变对象,同StringBuffer一样,可以对字符串进行操作,也不会新建对象。执行效率高效,但是线程不安全。

    点个关注吧,我会持续更新,下期更精彩哦~~

    展开全文
  • Java中以空格为分割符完成字符串分割后,若两单词间有x>1x > 1x>1 空格,则在单词列表 strs 中,此两单词间会出x−1x - 1x−1 “空单词” (即"")。 例子 剑指 Offer 58 - I. 翻转单词顺序 输入一...
  • 给定一个字符串,将其中的每一个单词进行翻转并输出翻转后的字符串 单词的定义为“连续的由字母组成的子串”,例如"abc-1de/fg"的单词有3个,为[“abc”, “de”, “fg”] 示例: 输入:"abc-1...
  • 从键盘输入一串数字字符串,将串从数字不连续的位置断开,打印输出多个连续的串。 import java.util.Scanner; public class Test { public static void main(String[] agsr) { System.out.print("请输入一串数字...
  • 字符串的声明字符串是内存中连续排列的0个或多个字符。不变字符串是指字符串一旦创建,其内容就不能改变,Java中使用String类来处理不变字符串,在对String类的实例进行查找、比较、拼接等操作时,既不能输入新字符...
  • Java 字符串分隔

    2021-02-28 12:41:50
    连续输入字符串(输入多次,每个字符串长度小于100) 输出描述: 输出到长度为8的新字符串数组 示例 输入 abc 123456789 输出 abc00000 12345678 90000000 代码 public static void main(String[] args) { Scanner sc...
  • 因为他是环形的所以z后面就是a所以连续的那么我们只要对a进行判断就可以了我们dp['a'-26]表示以字母a结束的字符串最长有长对于每一个字符的前一个字符是否是连续的写一个函数进行判断public boolean is...
  • 20200428 问题描述:输入只有小写字母的字符串S,S的子串为S中任意连续的一段,且子串只由一...输入说明:输入只有一行,一个字符串,长度不超过100000,只由小写字母组成; 输出说明:输出一行,符合要求的子串种数...
  • 课堂上的一个问题,输入的要求是 一个字符 按一下回车 接着继续输入字符,以#号结束,当结束的时候 逆序依次 输出 输入的字符 需要使用递归实现 关于递归 递归这里不再说,就是自己调用自己,调用自己逐次压栈,...
  • 首先是连续读入字符串,然后将字符串倒序(可用reverse函数;可用字符数组;可以for循环逆序遍历(简)),还有每三位用逗号分隔开来,比如六位字符串可以分成两段,但只在三位后有一逗号,最末尾不需要;八位...
  • 输入个字符串,求出其中最长的回文子串。 子串的含义是:在原串中连续出现的字符串片段。 回文的含义是:子串从左向右看和从右向左看是相同的,例如:abba,yyxyy。 在判断时忽略所有标点符号和空格,且忽略...
  • 数组中一个或连续多个整数组成一个子数组。求解所有子数组的和的最大值。要求时间是o(n)。思路:动态规划的思想。 用函数f(i)表示第i个数字结尾的子数组的最大和,我们求出最大的f(i)即可。 p[i] i=0或f(i-1)...
  • 文本压缩有很种方法,这里我们只考虑最简单的一种:把由相同字符组成的一个连续的片段用这个字符和片段中含有这个字符的个数来表示。例如 ccccc 就用 5c 来表示。如果字符没有重复,就原样输出。例如 aba 压缩后...
  • 文本压缩有很种方法,这里我们只考虑最简单的一种:把由相同字符组成的一个连续的片段用这个字符和片段中含有这个字符的个数来表示。例如 ccccc 就用 5c 来表示。如果字符没有重复,就原样输出。例如 aba 压缩后...
  • 几个有代表性的输入(可能会有多个连续空格): " " " Hello, my name is John" "Hello, my name is John" 题解 一开始的思路是识别空格的个数,后来发现测试用例会有多个连续的空格存在。于是想到了可以通过“空格...
  • 一、代码的执行顺序从上到下从左到右二、代码规范模块名,包名,普通数据量一般小写字母,多个单词之间用 _ 连接不要用系统定义的名称,具有特殊意义的表示符,如:doc,txt之类的每行代码不易过长单个字母使用为名字...
  • 字符串的“压缩”

    2015-09-19 10:48:40
    这题的要求大致是这样的:任意输入个字符串,比如 wwwabc,要求将连续出现的字符进行压缩,压缩后所得字符串应该为 3wabc;又例如abcdddefg,压缩后的字符串应该为 abc3defg。 代码如下所示: import java.util.
  • 统计字符串中的单词个数,这里的单词指的是连续的不是空格的...首先,开头的一个或多个空格会导致 split 函数在字符串开头产生一个错误的 “”,因此我们使用内置的 trim 函数来移除这些空格。其次,如果结果为空字符
  • /** * @Description 057 和为s的数字 * 题目一:和为s的两数 * 输入递增排序的数组和一数字s,在数组中查找两数,... * 输入正数s,打印出所有和为s的连续正数序列(至少含有两数) * * Cre...
  • 描述:给定由小写字母组成的字符串source,尽可能的把source切分为连续字符串,并使得每一字母最多只能出现在一子串中,返回各子串长度 样例: 输入:"ababcbacadefegdehijhklij" 输出:[9, 7, 8] [9, 7,...
  • 给出一个字符串S,考虑其所有重复子串(S 的连续子串,出现两次或次,可能会有重叠)。 返回任何具有最长可能长度的重复子串。(如果 S不含重复子串,那么答案为""。) 示例 1: 输入:"banana" 输出:"ana" ...
  • 最近在做笔试时,经常遇到同时输入多组数据的情况,之前错了好多次,今天总结一下: next(): 用于读入连续字符串,不管历经多少行,一定要读到有效字符才算开始读入,之前的空行空格全部忽略,并且只有遇到空格...
  • 相对路径,某个文件或文件夹相对于另一个文件或文件夹的...pathSeparator:指的是分隔连续多个路径字符串的分隔符, separator:分隔同一个路径字串的目录 //列出指定目录的所有文件 File f = new File("d:"+Fil...
  • Java数组

    2020-02-15 16:53:15
    可是当我们的程序中需要大量的数据,我们需要连续输入多个数字,连续输入多个坐标点,一般而言会创建多个变量存储这些数据,显得比较麻烦。当这些变量基本上类型是共通的,那我们就可以用一个容器将所有的数字进行...
  • java数组

    2020-02-15 14:21:19
    连续输入多个数字,连续输入多个坐标点,一般而言会创建多个变量存储这些数据,显得比较麻烦。如果变量基本上类型是一样的,那我们就可以用一个容器将所有的数字进行管理。类似于字符串字符串其实就是若干个字符的...
  • java 数组

    2020-02-18 16:42:49
    连续输入多个数字,连续输入多个坐标点,一般而言会创建多个变量存储这些数据,显得比较麻烦。 这些变量基本上类型是共通的,那我们就可以用一个容器将所有的数字进行管理。类似于字符串字符串其实就是若干个字符...
  • Java—编码

    2020-10-08 06:55:04
    Java—编码 Description 给你一个由大写字母组成...每组一个字符串,长度为10000以内 Output 输出编码后的字符串。 Sample Input ABC ABBCCC Output ABC A2B3C import java.util.Scanner; public class Main { publi

空空如也

空空如也

1 2 3 4 5 ... 7
收藏数 132
精华内容 52
关键字:

java连续输入多个字符串

java 订阅