博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PTA 数组和字符串(Java)
阅读量:2055 次
发布时间:2019-04-28

本文共 4999 字,大约阅读时间需要 16 分钟。

文章目录

1. 字符串处理 (10 分)

编写一个程序,用户输入任意一个字符串,显示它的长度和第一个字符。

输入格式:

输入任意一个字符串。

输出格式:

显示它的长度和第一个字符,其间用,分隔。

输入样例:

abc 4567

输出样例:

8,a

import java.util.Scanner;public class Main {
public static void main(String args[]) {
Scanner sc = new Scanner(System.in); String a= sc.nextLine(); int num= a.length(); System.out.println(num+","+a.charAt(0)); }}

2.单词替换 (20 分)

设计一个对字符串中的单词查找替换方法,实现对英文字符串中所有待替换单词的查找与替换。

输入格式:

首行输入母字符串,第二行输入查询的单词,第三行输入替换后的单词。

输出格式:

完成查找替换后的完整字符串

输入样例:

在这里给出一组输入。例如:

Although I am without you, I will always be ou you

ou
with

输出样例:

在这里给出相应的输出。例如:

Although I am without you, I will always be with you

import java.util.Scanner;public class Main {
public static void main(String args[]) {
Scanner sc = new Scanner(System.in); String a = sc.nextLine(); String b = sc.nextLine(); String c = sc.nextLine(); String d = a.replace(" "+b+" "," "+c+" "); d = a.replace(" "+b," "+c); d = a.replace(b+" ",c+" "); System.out.println(d); }}

3.字符串处理 (10 分)

给定一个字符串。请去除串中的数字并反转。

输入格式:

原始串。

输出格式:

去除数字后的反转字符串。

输入样例:

he11ll00o w0or8ld!

输出样例:

!dlrow olleh

import java.util.Scanner;public class Main {
public static void main(String args[]) {
Scanner sc = new Scanner(System.in); String a = sc.nextLine(); String b = a.replaceAll("\\d", ""); System.out.println(b = new StringBuffer(b).reverse().toString()); }}

4.通过键盘输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。 (10 分)

统计一行字符串中的英文字母个数、空格个数、数字个数、其他字符个数

输入格式:

通过键盘输入一行字符(任意字符)

输出格式:

统计一行字符串中的中英文字母个数、空格个数、数字个数、其他字符个数

输入样例:

rwrwewre2345asdJSJQI%^&(& *&sdf YY( 2342-k’

输出样例:

字母个数:22
数字个数:8
空格个数:5
其他字符个数:10

import java.util.Scanner;public class Main {
public static void main(String args[]) {
Scanner sc = new Scanner(System.in); String a = sc.nextLine(); char [] b=a.toCharArray(); int l=0,d=0,z=0,o=0; for(int i=0;i
='A'&&b[i]<='Z'||b[i]>='a'&&b[i]<='z'){
l++; } else if(b[i]>'0'&&b[i]<'9'){
d++; } else if(b[i]==' '){
z++; } else{
o++; } } System.out.println("字母个数:"+l); System.out.println("数字个数:"+d); System.out.println("空格个数:"+z); System.out.println("其他字符个数:"+o); }}

5. jmu-Java-02基本语法-02-StringBuilder (10 分)

输入3个整数n、begin、end。 首先,使用如下代码:

for(int i=0;i<n;i++)

将从0到n-1的数字拼接为字符串str。如,n=12,则拼接出来的字符串为01234567891011

最后截取字符串str从begin到end(包括begin,但不包括end)之间的字符串,并输出。

输入样例:

10
5
8
1000
800
900

输出样例:

567
0330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533

import java.util.Scanner;public class Main {
public static void main(String args[]) {
Scanner sc=new Scanner((System.in)); while(sc.hasNext()){
int n=sc.nextInt(); int begin=sc.nextInt(); int end=sc.nextInt(); StringBuilder str=new StringBuilder(); for(int i=0;i

6. 图书价格汇总 (20 分)

图书价格汇总

输入格式:

假设某图书馆中图书记录的格式为“Java程序设计: 34;Web程序设计: 56;JSP程序设计:20”(每本书的价格是整数,每本书的价格与下一本书的名字之间有一个中文;)。

输出格式:

编写一个类的方法,能够接受键盘录入的符合上述格式的图书内容字符串,输出图书记录中所有书目的总价格。

输入样例:

Java程序设计:34 ;Web程序设计: 56;JSP程序设计:20

输出样例:

Java程序设计:34
Web程序设计: 56
JSP程序设计:20
总价格为110

import java.util.Scanner;public class Main{
public static void main(String[] args) {
Scanner sc = new Scanner(System.in); int total = 0; String str; str = sc.nextLine(); boolean flag = false; int linshi = 0; for(int i=0;i
= '0' && str.charAt(i) <= '9'){
linshi = linshi * 10 + str.charAt(i) - '0'; flag = true; } else if(i + 1

7. jmu-Java-02基本语法-01-综合小测验 (20 分)

运行程序后可以输入4个选项,分别为:fib,sort,search,getBirthDate

**fib:**根据输入n,打印斐波那契数列。比如输入:3,输出:1 1 2

sort:**输入一串数字,然后进行排序并输出,注意数组元素输出的格式为使用[ ]包括。提示:**可直接使用函数Arrays相关方法处理输出。

search:**如果找到返回所找到的位置,如果没找到,返回-1。提示:**可以先对数组排序,然后使用Arrays相关函数进行查找。

getBirthDate:输入n个身份证,然后把输入的n个身份号的年月日抽取出来,按年-月-日格式输出。

当输入不是这几个字符串(fib,sort,search,getBirthDate)的时候,显示exit并退出程序。

注意:在处理输入的时候,尽量全部使用Scanner的**nextLine()**方法接收输入,不要将nextLine()与其它next方法混用,否则可能会出现行尾回车换行未处理影响下次输入的情况。

参考:jdk文档的Arrays,String

输入格式:

fib
3
sort
-1 10 3 2 5
search
-1
search
0
getBirthDate
1
330226196605054190
e

输出格式:

1 1 2
[-1, 2, 3, 5, 10]
0
-1
1966-05-05
exit

import java.text.DateFormat;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Arrays;import java.util.Scanner; public class Main {
public static int count=0; public static void fib(int n){
int a=1; int b=1; if (n==1){
System.out.println("1"); return; }else if (n==2){
System.out.println("1 1"); return; }else if (n==0){
return; } else {
System.out.print("1 1 "); } int tem; for (int i=2;i

转载地址:http://hjnlf.baihongyu.com/

你可能感兴趣的文章
k8s v1.17 新特性预告: 拓扑感知服务路由
查看>>
彻底理解矩阵乘法
查看>>
使用 buildx 构建多平台 Docker 镜像
查看>>
Kubelet 中的 “PLEG is not healthy” 到底是个什么鬼?
查看>>
不懂OpenShift,不足以谈云计算!
查看>>
别让自己“墙”了自己
查看>>
让你的网站用上炫酷的中文字体
查看>>
使用 font-spider 对 webfont 网页字体进行压缩
查看>>
云原生服务网格 Istio 1.4 部署指南
查看>>
让 Linux 防火墙新秀 nftables 为你的 VPS 保驾护航
查看>>
Istio 1.4 部署指南
查看>>
贫苦家庭用户的 Envoy xDS 控制平面
查看>>
Kubernetes Pod 网络精髓:pause 容器详解
查看>>
Docker 技术鼻祖 Linux Namespace 入门系列:Namespace API
查看>>
使用 ebpf 深入分析容器网络 dup 包问题
查看>>
Kubelet 中的 “PLEG is not healthy” 到底是个什么鬼?
查看>>
超详细的网络抓包神器 Tcpdump 使用指南
查看>>
从 Kubernetes 资源控制到开放应用模型,控制器的进化之旅
查看>>
从此以后运维与开发过上了没羞没臊的性福生活
查看>>
教你如何优雅地魔改 Grafana 主题,太实用了!
查看>>