【从零开始学习JAVA | 第二十七篇】JAVA期末练习(PTA)

news2024/9/22 9:28:39

目录

前言:

R7-5 Count the letters in a string (统计字符串中的字符)

R7-1 找素数

R7-3 电话号码同步(Java)

总结:


前言:

        临近期末,我也更新一下PTA上的JAVA大题,希望各位都可以考出一个好的成绩。

R7-5 Count the letters in a string (统计字符串中的字符)

(Count the letters in a string) (统计字符串中的字符)
Write a method that counts the number of letters in a string using the following header:
public static int countLetters(String s)

Write a test program that prompts the user to enter a string and displays the number of letters in the string.
(统计字符串中的字符) 使用以下标题编写一个计算字符串中字母数的方法:
public static int countLetters(String s)
编写一个程序,提示用户输入字符串并显示字符串中的字母数。

input style :

Enter a string

output style:

Displays the number of the letters in the string.

input sample:

qwe&&&,,;#@23qer

output sample:

The number of letters inside the string is: 6

代码:

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        String s=sc.next();
        System.out.println("The number of letters inside the string is: "+countLetters(s));
    }
    public static int countLetters(String s){
        int c=0;
        for (int i = 0; i < s.length(); i++) {
            if(Character.isLetter(s.charAt(i))){
                c++;
            }
        }
        return c;
    }
}

统计字符串中的字母其实非常简单,主要就是调用JAVA中的方法:

Character.isLetter(s.charAt(i))

根据它的返回值来判断字符串S中第i个字符是否是一个字母。

R7-1 找素数

请编写程序,从键盘输入两个整数m,n,找出等于或大于m的前n个素数。

输入格式:

第一个整数为m,第二个整数为n;中间使用空格隔开。例如:

103 3

输出格式:

从小到大输出找到的等于或大于m的n个素数,每个一行。例如:

103

107

109

输入样例:

9223372036854775839 2

输出样例:

9223372036854775907
9223372036854775931

这道题主要是需要调用JAVA  MATH库中的BigInteger ,因为这里的例子都是超大数,因此需要用BigInteger来存储。

import java.util.Scanner;
import java.math.BigInteger;

public class Main {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);

        BigInteger m = input.nextBigInteger();
        BigInteger n = input.nextBigInteger();
        input.close();

        BigInteger count = BigInteger.ZERO;
        BigInteger num = m;
        while (count.compareTo(n) < 0) {
            if (num.isProbablePrime(100)) {
                System.out.println(num);
                count = count.add(BigInteger.ONE);
            }
            num = num.add(BigInteger.ONE);
        }
    }
}

R7-3 电话号码同步(Java)

文件phonebook1.txt和phonebook2.txt中有若干联系人的姓名和电话号码。请你设计一个程序,将这两个文件中的电话号码同步。(所谓同步,就是将两个文件中的电话号码合并后剔除相同的人名和电话号码。请将同步后的电话号码按照姓名拼音顺序排序后保存到文件phonebook3.txt中。)

由于目前的OJ系统暂时不能支持用户读入文件和写文件,我们编写程序从键盘输入文件中的姓名和电话号码,当输入的单词为end时,表示文件结束。将同步后的电话号码按照姓名拼音顺序排序后输出。

输入格式:

张三 13012345678

李四 13112340000

王五 13212341111

马六 13312342222

陈七 13412343333

孙悟空 13512345555

end (表示文件phonebook1.txt结束)

张三 13012345678

孙悟空 13512345555

王五 13212341111

陈七 13412343333

唐三藏 13612346666

猪悟能 13712347777

沙悟净 13812348888

end (表示文件phonebook2.txt结束)

输出格式:

陈七 13412343333

李四 13112340000

马六 13312342222

沙悟净 13812348888

孙悟空 13512345555

唐三藏 13612346666

王五 13212341111

张三 13012345678

猪悟能 13712347777

本题主要是考察我们对树这种数据结构的利用,其实不是很难。

import java.util.Iterator;
import java.util.Scanner;
import java.util.Set;
import java.util.TreeSet;
 
public class Main {
   public static void main(String args[]){
	   Scanner in=new Scanner(System.in);
	   String string;
	   String string2;
	   Set<String> set=new TreeSet<String>();
	   Set<String> set2=new TreeSet<String>();
	   Set<String> set3=new TreeSet<String>();
	   while(in.hasNextLine()){
		   string=in.nextLine();
		   if(string.equals("end")){
			   break;
		   }
		   else{
			   set.add(string);
		   }
	   }
	   
	   while(in.hasNextLine()){
		   string2=in.nextLine();
		   if(string2.equals("end")){
			   break;
		   }
		   else{
			   set2.add(string2);
		   }
	   }
	   
	   set3.addAll(set);
	   set3.addAll(set2);
	  Iterator iterator=set3.iterator();
	  while(iterator.hasNext()){
		  System.out.println(iterator.next());
	  }
   }
}

总结:

        祝愿各位可以考出一个如意的成绩。暑假期间我会更新前端三件套,有兴趣的小伙伴可以和我一起学习,共同进步。

如果我的内容对你有帮助,请点赞,评论,收藏。创作不易,大家的支持就是我坚持下去的动力!

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/714020.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

TensorFlow项目练手(二)——猫狗熊猫的分类任务

项目介绍 通过猫狗熊猫图片来对图片进行识别&#xff0c;分类出猫狗熊猫的概率&#xff0c;文章会分成两部分&#xff0c;从基础网络模型->利用卷积网络经典模型Vgg。 基础网络模型 基础的网络模型主要是用全连接层来分类&#xff0c;比较经典的方法&#xff0c;也是祖先…

(c语言)给定两个数,求这两个数的最大公约数

目录 方法一 方法二&#xff1a;辗转相除法 方法一 找出两个数中的较小值&#xff0c;从较小值减至两个数%这个数0即可。 //给定两个数&#xff0c;求这两个数的最大公约数 #include <stdio.h>int main() {int a 0;int b 0;scanf("%d %d", &a, &…

【力扣】145、二叉树的后序遍历

145、二叉树的后序遍历 注&#xff1a;二叉树的后序遍历&#xff1a;左右根&#xff1b; // 递归 var postorderTraversal function (root){const arr [];//新建一个数组&#xff1b;const fun (node) >{if(node){fun(node.left);fun(node.right);arr.push(node.val)}}f…

STM32单片机蓝牙APP自动量程万用表电流电压电阻表LCD1602

实践制作DIY- GC0149---蓝牙APP自动量程万用表 基于STM32单片机设计---蓝牙APP自动量程万用表 二、功能介绍&#xff1a; STM32F103C系列最小系统板LCD1602显示器模拟开关信号选择电路电压采集电路电流测量电路&#xff08;康铜丝采样&#xff09;电阻测量电路1个黑色公共端子…

html掉落本地图片效果

实现一个加载本地图片并掉落的html页面。 说明 将DuanWu.html与zongzi_1.png, zongzi_2.png, zongzi_3.png, yadan.png4张图片放在同一个目录下&#xff0c;然后双击打开DuanWu.html即可。 使用Chrome或Microsoft Edge浏览器打开 若使用IE浏览器打开&#xff0c;下方会出现In…

Java框架之springboot starter

写在前面 本文一起看下springboot starter相关的内容。 1&#xff1a;官方提供的starter 在spring-boot-autocongure包中定义了官方提供的一百多个starter&#xff0c;如下&#xff1a; 2&#xff1a;框架是如何定义starter的&#xff1f; 因为springboot的普及度逐步提高&…

Unity Sponza(斯蓬扎宫)场景-BuildIn-URP-HDRP

Sponza&#xff08;斯蓬扎宫&#xff09;场景 &#x1f354;URP &#x1f354;URP 资源下载

Linux: hang: 线程太多,导致的一个例子

今天遇到了一个Linux系统hang住的情况&#xff0c;从vmcore里看bt&#xff0c;没有看到明显的crash、lockup等信息&#xff1b; 而且从vmcore里也不能看具体的当时CPU事情情况。 不过还是怀疑&#xff0c;是因为线程太多&#xff0c;导致资源占用比较严重&#xff0c;从而导致一…

GeForce RTX 40系列显卡哪个更好?这个避坑测评攻略快收下

自2022年底以来&#xff0c;Nvidia一直在推出基于Ada Lovelace架构的GeForce RTX 40系列消费级GPU&#xff0c;旨在取代之前基于Ampere架构的GeForce RTX 30系列和基于Turing架构的GeForce RTX 20系列。 Nvidia称其RTX 40系列GPU的性能比前代产品有了显着提升&#xff0c;许多…

写给新手程序员的一封信

为什么写这篇文章 我是一名毕业四年的后端开发&#xff08;可能会很多人来说&#xff0c;工作时间也没多长嘛&#xff09;&#xff0c;但是在这四年里&#xff0c;我写过PHP、Go、vue、做了两年多的敏捷团队管理&#xff0c;也设计过一些系统的架构。也算是有着相对较丰富的项…

数据结构-手撕单链表+代码详解

⭐️ 往期相关文章 ✨ 链接1&#xff1a;数据结构-手撕顺序表(动态版)代码详解 ✨ 链接2&#xff1a;数据结构和算法的概念以及时间复杂度空间复杂度详解 ⭐️ 链表 &#x1f320; 什么是链表&#xff1f; 链表是一种物理存储结构上非连续、非顺序的存储结构&#xff0c;数据…

OPLS-DA分析,组间差异 图形详解

OPLS-DA分析&#xff0c;组间差异 在上一场小工具讲解中&#xff0c;小姐姐给大家介绍了PLS-DA的原理及用途&#xff0c;而在代谢组学数据分析中&#xff0c;除去PLS-DA以外&#xff0c;OPLS-DA分析也是非常常见的&#xff0c;仅一个字母之差&#xff0c;那二者到底有何差别&am…

HTML select 用法及常用事件

前言 用于记录开发中常用到的&#xff0c;快捷开发 简单实例 <select><option value"volvo">Volvo</option><option value"saab">Saab</option><option value"mercedes">Mercedes</option><opt…

【WSN定位】基于浣熊优化算法的多通信半径和跳距加权Dvhop定位算法【Matlab代码#46】

文章目录 【可更换其他算法&#xff0c;获取资源请见文章第6节&#xff1a;资源获取】1. Dvhop定位算法2. 原始浣熊优化算法2.1 开发阶段2.2 探索阶段 3. 多通信半径和跳距加权策略3.1 多通信半径策略3.2 跳距加权策略 4. 部分代码展示5. 仿真结果展示6. 资源获取 【可更换其他…

超细,设计一个“完美“的测试用例,用户登录模块实例...

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 好的测试用例一定…

ad18学习笔记七:drc检查在线和批量的区别

Altium Designer 22 DRC规则检查解析 - 哔哩哔哩 硬件工程师基本功&#xff1a;DRC设置要点详解-凡亿课堂 AD中PCB检查设计错误规则设置&#xff08;DRC检查配置&#xff09;_ad怎么检查pcb有没有错误_没有价值的生命的博客-CSDN博客 Altium Designer之DRC检查学习笔记_ad d…

【Linux】基于环形队列的生产者消费者模型的实现

文章目录 前言一、基于环形队列的生产者消费者模型的实现 前言 上一篇文章我们讲了信号量的几个接口和基于环形队列的生产者消费者模型&#xff0c;下面我们就快速来实现。 一、基于环形队列的生产者消费者模型的实现 首先我们创建三个文件&#xff0c;分别是makefile&#x…

【C++】医学影像归档和通信系统-PACS

一、PACS是通过DICOM3.0国际标准接口&#xff0c;将CT、超声、放射检查(DR)、核磁、磁共振&#xff08;MR)等多种医学影像以数字化的形式保存&#xff0c;提供授权方式查看和调回&#xff0c;并提供一些辅助诊断管理功能的系统。 二、PACS系统是HIS系统的重要组成部分&#xff…

强化学习路径优化:基于Q-learning算法的机器人路径优化(MATLAB)

一、强化学习之Q-learning算法 Q-learning算法是强化学习算法中的一种&#xff0c;该算法主要包含&#xff1a;Agent、状态、动作、环境、回报和惩罚。Q-learning算法通过机器人与环境不断地交换信息&#xff0c;来实现自我学习。Q-learning算法中的Q表是机器人与环境交互后的…

打造自己的分布式MinIO对象存储

MinIO是一个对象存储解决方案&#xff0c;它提供了一个与Amazon Web Services S3兼容的API&#xff0c;并支持所有核心S3特性。MinIO旨在部署在任何地方——公共云或私有云、裸机基础架构、协调环境和边缘基础架构。 分布式MinIO如何工作 Server Pool由多个Minio服务节点与其附…