Java文本处理与进制转换编程

410、编写一个应用程序,输入一行文本和一个要搜索的字符,并使用 String 类的 indexOf 方法来确定该字符在文本中出现的次数。

以下是一个 Java 程序示例,用于实现输入一行文本和一个搜索字符,并使用 indexOf 方法确定该字符在文本中出现的次数:

import java.util.Scanner;

public class CharacterCount {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("请输入一行文本: ");
        String text = scanner.nextLine();
        System.out.print("请输入要搜索的字符: ");
        char searchChar = scanner.next().charAt(0);

        int count = 0;
        int index = 0;
        while ((index = text.indexOf(searchChar, index)) != -1) {
            count++;
            index++;
        }

        System.out.println("字符 '" + searchChar + "' 在文本中出现的次数为: " + count);
        scanner.close();
    }
}

这个程序首先使用 Scanner 类从用户那里获取一行文本和一个搜索字符。然后,使用 indexOf 方法在文本中查找该字符的出现位置。每次找到字符后,计数器 count 加 1,并将搜索的起始位置更新为下一个字符的位置,继续搜索,直到找不到该字符为止。最后,输出该字符在文本中出现的次数。

411、a) 编写一个应用程序,从键盘读取一行文本,并打印一个表格,显示文本中字母表中每个字母的出现次数。例如,短语“To be, or not to be: that is the question:”包含一个“a”、两个“b”、没有“c”,依此类推。b) 编写一个应用程序,读取一行文本,并打印一个表格,显示文本中出现的单字母单词、双字母单词、三字母单词等的数量。c) 编写一个应用程序,读取一行文本,并打印一个表格,显示文本中每个不同单词的出现次数。应用程序的第一个版本应按照单词在文本中出现的顺序将其包含在表格中。例如,“To be, or not to be: that is the question: Whether ‘tis nobler in the mind to suffer”中“to”出现三次,“be”出现两次,“or”出现一次,依此类推。然后应尝试进行更有趣(且有用)的输出,即按字母顺序对单词进行排序。

  • 这是三个关于文本分析的编程任务。

a) 需编写程序统计输入文本中每个字母的出现次数并制表输出;

b) 编写程序统计输入文本中不同长度单词的数量并制表输出;

c) 编写程序统计输入文本中每个不同单词的出现次数,先按单词出现顺序制表输出,再按字母顺序排序后制表输出。

412、编写一个应用程序,读取第一种格式(04/25/1955)的日期,并将其以第二种格式(April 25, 1955)输出。

以下是一个 Java 示例代码来实现该功能:

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;

public class DateFormatConverter {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("请输入日期(格式:MM/dd/yyyy):");
        String inputDate = scanner.nextLine();
        try {
            SimpleDateFormat inputFormat = new SimpleDateFormat("MM/dd/yyyy");
            Date date = inputFormat.parse(inputDate);
            SimpleDateFormat outputFormat = new SimpleDateFormat("MMMM dd, yyyy");
            String outputDate = outputFormat.format(date);
            System.out.println("转换后的日期:" + outputDate);
        } catch (ParseException e) {
            System.out.println("输入的日期格式不正确,请使用 MM/dd/yyyy 格式。");
        }
        scanner.close();
    }
}

这段代码首先使用 Scanner 类从用户输入读取日期,然后使用 SimpleDateFormat 类将输入的日期字符串解析为 Date 对象,最后将 Date 对象格式化为所需的输出格式并打印出来。如果输入的日期格式不正确,会捕获 ParseException 并给出错误提示。

413、编写一个应用程序,输入要打印在支票上的美元金额,然后将该金额以支票保护格式打印出来,必要时添加前导星号。假设打印金额时有九个空格可用。

可编写 Java 程序实现该功能,示例代码如下:

import java.util.Scanner;

public class CheckProtection {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("请输入要打印在支票上的美元金额: ");
        String amount = scanner.nextLine();
        int spacesNeeded = 9 - amount.length();
        if (spacesNeeded > 0) {
            StringBuilder protectedAmount = new StringBuilder();
            for (int i = 0; i < spacesNeeded; i++) {
                protectedAmount.append("*");
            }
            protectedAmount.append(amount);
            System.out.println("支票保护格式的金额: " + p
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值