动态字符串

简介: 动态字符串

一、动态字符串
将一个由英文字母组成的字符串转换成从末尾开始每三个字母用逗号分隔的形式。

import java.util.Scanner;
public class Main {

public static void main(String[] args) {
    Scanner scanner = new Scanner(System.in);
    String str = scanner.next();
    StringBuilder stringBuilder = new StringBuilder();
    int n = str.length()%3;
    for (int i = 0; i < n; i++) {
        char ch = str.charAt(i);
        stringBuilder.append(ch);
    }
    stringBuilder.append(",");
    int count = 0;
    for (int i = n; i < str.length(); i++) {
        char ch = str.charAt(i);
        count++;
        if(count % 3 == 0 && i != str.length() - 1) {
            stringBuilder.append(ch).append(",");
        }else {
            stringBuilder.append(ch);
        }
    }
    System.out.println(stringBuilder.toString());
}

}

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
二、十进制数转二进制数
控制台随机输入一个十进制数,请你将它转换为二进制数并输出

1.直接使用包装类方法

public class Main {

public static void main(String[] args) {
    Scanner scanner = new Scanner(System.in);
    int n = scanner.nextInt();
    System.out.println(Integer.toBinaryString(n));
}

}
1
2
3
4
5
6
7
2.暴力求法

public class Main {
public static void main(String[] args) {

    Scanner scanner = new Scanner(System.in);
    int n = scanner.nextInt();
    if(n == 0) {
        System.out.println(n);
        return;
    }
    StringBuilder str = new StringBuilder();
    while(n > 0) {
        str.append(n % 2);
        n /= 2;
    }
    System.out.println(str.reverse());
}

}

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
三、判断学生成绩
定义一个方法用于录入学生的考试成绩,要求考试成绩必须在0-100之间,不满足就产生一个自定义异常,控制台输出一个错误信息"分数不合法"(请输出自定义异常对象的错误信息,将错误信息设置为分数不合法)

import java.util.*;

public class Main {

public static void main(String[] args) throws ScoreException{
    Scanner scanner = new Scanner(System.in);
    int score = scanner.nextInt();
    try {
        if(score < 0 || score > 100) {
        throw new ScoreException("分数不合法");
    }else {
        System.out.println(score);
    }
    } catch(ScoreException e) {
        System.out.println(e.getMessage());
    }     
}

}

class ScoreException extends Exception {

public ScoreException(String message) {
    super(message);
}

}

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
四、统计字符串中字母出现次数
给定一个字符串,随机输入一个字母,判断该字母在这个字符串中出现的次数

public class Main {

public static void main(String[] args) {
    String string = "H e l l o ! n o w c o d e r";
    Scanner scanner= new Scanner(System.in);
    String word = scanner.next();
    scanner.close();
    System.out.println(check(string, word));
}
public static int check(String str, String word) {
    int count = 0;
    for (int i = 0; i < str.length(); i++) {
        char ch = str.charAt(i);
        if(ch == word.charAt(0)) {
            count++;
        }
    }
    return count;
}

}

相关文章
|
12月前
|
C++
有趣的动态转换
有趣的动态转换
|
4月前
如何去掉字符串中文括号及其内部的内容三种方式
如何去掉字符串中文括号及其内部的内容三种方式
57 0
|
4月前
|
JavaScript 前端开发 Java
字符串的引用方式
字符串的引用方式
80 0
|
运维 Shell Python
【运维知识高级篇】超详细的Shell编程讲解2(变量切片+统计变量长度+字串删除+字串替换+七种方法进行数值运算+整数比较+多整数比较+文件判断+字符串比对+正则比对+配合三剑客的高阶用法)(一)
【运维知识高级篇】超详细的Shell编程讲解2(变量切片+统计变量长度+字串删除+字串替换+七种方法进行数值运算+整数比较+多整数比较+文件判断+字符串比对+正则比对+配合三剑客的高阶用法)
119 0
字符串的转化规则?
null和 undefined类型 ,null 转换为 “null”,undefined 转换为 “undefined”,
|
运维 Shell Perl
【运维知识高级篇】超详细的Shell编程讲解2(变量切片+统计变量长度+字串删除+字串替换+七种方法进行数值运算+整数比较+多整数比较+文件判断+字符串比对+正则比对+配合三剑客的高阶用法)(二)
【运维知识高级篇】超详细的Shell编程讲解2(变量切片+统计变量长度+字串删除+字串替换+七种方法进行数值运算+整数比较+多整数比较+文件判断+字符串比对+正则比对+配合三剑客的高阶用法)(二)
117 0
|
JavaScript 前端开发
javascript封装函数:substr函数实现自动截取长度超出限制字数的解决方案
javascript封装函数:substr函数实现自动截取长度超出限制字数的解决方案
85 0
|
网络架构 索引
ES6新增扩展:字符串-数值-数组-函数-对象
ES6新增扩展:字符串-数值-数组-函数-对象
77 0
|
前端开发 程序员 C#
【C#】通过扩展对象的方式,对字符串等数据类型进行数据进一步处理
在本篇文章中,我们讲一起了解下对象扩展的使用 在实际项目开发中,对象扩展使用的场景还是挺多的,比如:需要对时间值进行再处理,或者字符串中的斜杠(/)转为反斜杠(\)
105 0
|
存储 程序员 C语言
如何进行C++动态转换
如何进行C++动态转换
如何进行C++动态转换