动态字符串

简介: 动态字符串

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

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

}

相关文章
|
2月前
|
SQL JavaScript 前端开发
模板字符串的优点是什么?
模板字符串的这些优点使其成为现代JavaScript开发中处理字符串的首选方式,广泛应用于各种场景,如构建HTML模板、生成动态文本内容、格式化日志信息等。
|
2月前
|
SQL 自然语言处理 前端开发
模板字符串在哪些场景下会比普通字符串更有优势?
模板字符串在哪些场景下会比普通字符串更有优势?
|
2月前
|
存储 算法 C语言
C语言中常见的字符串处理技巧,包括字符串的定义、初始化、输入输出、长度计算、比较、查找与替换、拼接、截取、转换、遍历及注意事项
本文深入探讨了C语言中常见的字符串处理技巧,包括字符串的定义、初始化、输入输出、长度计算、比较、查找与替换、拼接、截取、转换、遍历及注意事项,并通过案例分析展示了实际应用,旨在帮助读者提高编程效率和代码质量。
150 4
|
2月前
|
JavaScript 前端开发 Java
模板字符串和普通字符串的性能差异大吗?
总体而言,模板字符串和普通字符串的性能差异并非在所有场景下都非常显著,但在一些复杂的、对性能要求较高的场景中,模板字符串可能会展现出一定的优势。不过,在实际开发中,性能并非是选择使用哪种字符串的唯一考量因素,代码的可读性、可维护性以及开发效率等同样重要。
|
8月前
|
C++
【C++基础】C++中的字符串
【C++基础】C++中的字符串
31 0
|
8月前
|
JavaScript 前端开发 Java
字符串的引用方式
字符串的引用方式
177 0
|
8月前
|
开发框架 .NET C#
C# 10.0中的扩展属性与模式匹配:深入解析
【1月更文挑战第20天】C# 10.0引入了众多新特性,其中扩展属性与模式匹配的结合为开发者提供了更强大、更灵活的类型检查和代码分支能力。通过这一特性,开发者可以在不修改原始类的情况下,为其添加新的行为,并在模式匹配中利用这些扩展属性进行更精细的控制。本文将详细探讨C# 10.0中扩展属性与模式匹配的工作原理、使用场景以及最佳实践,帮助读者更好地理解和应用这一新功能。
|
JavaScript 前端开发
javascript:将数组转为字符串通过判断包含字段进行状态判断的解决方案
javascript:将数组转为字符串通过判断包含字段进行状态判断的解决方案
62 0
|
JavaScript 前端开发
javascript封装函数:substr函数实现自动截取长度超出限制字数的解决方案
javascript封装函数:substr函数实现自动截取长度超出限制字数的解决方案
110 0