zoukankan      html  css  js  c++  java
  • 常用String练习

    package com.test;

    import java.util.Scanner;

    /**
    *2017-3-5 下午2:54:15
    * @param
    * @since
    * @return
    */
    public class InterceptionStr {
    // 输入为一个字符串和字节数,输出为按字节截取的字符串。但是要保证汉字不被截半个,
    // 如"我ABC"4,应该截为"我AB",输入"我ABC汉DEF"6,应该输出"我ABC",
    // 而不是"我ABC+汉的半个"。

    // 要进行截取操作的字符串
    static String s;
    // 截取的字符串的字节数
    static int n;
    public static void main(String[] args) {
    System.out.println("请输入字符串");
    // 从键盘输入字符串
    Scanner scStr=new Scanner(System.in);
    // //获取字符串
    s=scStr.next();
    System.out.println(s);
    // 将Scanner对象中的内容以字符串的形式取出来
    System.out.println("请输入字节:");
    // 从键盘获取字符串
    Scanner scByte=new Scanner(System.in);
    // 将Scanner对象中的内容以数值的形式取出来
    n=scByte.nextInt();
    Interception(setValue());
    }
    // 将字符串转换成字符串数组
    public static String[] setValue(){
    // 创建字符串数组
    String[] string=new String[s.length()];
    for (int i = 0; i < string.length; i++) {
    // 将字符串s中的第i个字符取出,放入字符数组中string中
    string[i]=s.substring(i, i+1);
    }
    // 返回这个字符数组
    return string;
    }
    public static void Interception(String[] string){
    int count =0;
    // 汉字的正则表达式
    String m="[\u4e00-\u9fa5]";
    System.out.println("以每"+n+"字节划分的字符串如下所示:");
    for (int i = 0; i < string.length; i++) {
    // 将字符数组中的每一个元素与正则表达式进行匹配,如果相同则返回true
    if(string[i].matches(m)){
    // 如果是汉字,计数器count+2
    count=count+2;
    }else{
    count=count+1;
    }
    // 如果当前计数器count的值小于n,则输出当前字符
    if(count<n){
    System.out.println(string[i]);
    }else if(count==n){
    // 如果当前计数器count的值等于n,则输出当前字符串
    System.out.println(string[i]);
    // 换行
    count=0;
    System.out.println();
    }else{
    // 如果当前计数器count的值大于n,则计数器count清零,接着执行外部循环
    count=0;
    System.out.println();
    }
    }
    }
    }

     控制台如果出现乱码问题

    在代码区域右键 -> run as -> run configurations -> common(右侧) -> console encoding 
    出现此错误,此时的编码格式应该是UTF-8,选择Other,这时可能没有GBK选项,没有,则执行之后操作。

  • 相关阅读:
    Keras猫狗大战四:数据增强+添加dropout层,精度达83%
    Keras猫狗大战三:加载模型,预测目录中图片,画混淆矩阵
    左边列表多选可以批量移动到右边列表,右边列表页可以批量移动到左边列表,可以实现前端自动搜索 ajax 传递List
    两个list框联动-转载
    mybatis
    lambda
    sprint 单元测试
    java项目部署测试服务器二级域名解决方案
    java cookie 单点登录和登录拦截器 从实现到原理
    redis 概述和阿里云redis搭建和java后台获取
  • 原文地址:https://www.cnblogs.com/yiyunkeji/p/6505823.html
Copyright © 2011-2022 走看看