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

这篇具有很好参考价值的文章主要介绍了【从零开始学习JAVA | 第二十七篇】JAVA期末练习(PTA)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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

目录

前言:

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

总结:

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

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

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

 文章来源地址https://www.toymoban.com/news/detail-566293.html

到了这里,关于【从零开始学习JAVA | 第二十七篇】JAVA期末练习(PTA)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【从零开始学习JAVA | 第二十九篇】Stream流

    目录 前言: Stram流: 设计目标: 使用步骤: 1.先得到一条Stream流,并把数据放上去。 2.利用Stream流中的各种API进行操作。 使用Stream流的注意事项: 总结:         本文我们将学习Stream流,他就像流水线一样,可以对我们要处理的对象进行逐步处理,最终达到我们想要的效果

    2024年02月17日
    浏览(47)
  • 【从零开始学习JAVA | 第二十三篇】集合体系结构

    目录 前言: 单列集合:      set与list的区别: 双列集合: map的特点: 总结:                   JAVA中为我们提供了很多集合,这些集合都有自己很独特的特点,因此我们要学习所有的集合,但是在学习所有的集合之前,我们还是先为大家介绍一下JAVA的集合体系结构,这

    2024年02月16日
    浏览(59)
  • 【从零开始学习JAVA | 第二十篇】常见API介绍 Math

    目录 前言:  MATH: Math类中的常用方法: 总结:                 本篇往后我们会详细介绍一些常用的API,今天我们介绍的是Math的常用方法。但是其实我们不需要记住所有的方法,在日常工作中自己学会查询API文档就可以了。 Math类是Java中提供的一个标准类, 它包含了许多

    2024年02月15日
    浏览(55)
  • 【从零开始学习JAVA | 第二十一篇】常见API介绍 System

    目录 前言: System: System类中静态方法: 总结:                 system 是一个很底层的 API,是一个工具类, 提供了一些与系统相关的方法 。他在我们写项目的时候提供了一些非常实用的方法,本篇将会介绍一些实用的system API 的方法调用。 System类是Java语言提供的一个

    2024年02月15日
    浏览(62)
  • 深入理解JVM虚拟机第二十七篇:详解JVM当中InvokeDynamic字节码指令,Java是动态类型语言么?

     😉😉 学习交流群: ✅✅1:这是孙哥suns给大家的福利! ✨✨ 2:我们免费分享Netty、Dubbo、k8s、Mybatis、Spring...应用和源码级别的视频资料 🥭🥭3:QQ群: 583783824   📚📚  工作微信: BigTreeJava 拉你进微信群,免费领取! 🍎🍎4:本文章内容出自上述:Spring应用课程!💞💞

    2024年02月04日
    浏览(46)
  • JavaScript从入门到精通系列第二十七篇:详解JavaScript中的包装类

      文章目录 前言 一:包装类 1:包装类作用 2:包装类成员 3:包装类作用 4:包装类使用         包装类就类似于把一个草根包装成一个明星,就类似于Java中的Integer。         JavaScript中的基本数据类型String Number Boolean Null Undefined         引用数据类型:Object         J

    2024年02月06日
    浏览(46)
  • 【从零开始学JAVA | 第二十四篇】单列集合的遍历

    目录 前言: 单列集合的遍历方式: 迭代器遍历: 增强for遍历: lambda方法遍历:  总结: 本篇我们会讲解关于单列集合的几种遍历方式,遍历集合可以说是对于集合要求掌握的最低技能,因此我们要熟练的掌握遍历集合的方式。 在这里我们不讲for循环遍历,for循环无法对单

    2024年02月16日
    浏览(61)
  • 【从零开始学习C++ | 第二十二篇】C++新增特性(下)

    目录 前言: 类型推导: constexpr: 初始化列表: 基于范围的for循环: 智能指针之unique ptr Lambda表达式: 总结:         本文我们将继续介绍   C++ 11 新增十大特性的剩余六个,如果没有看过介绍前四个特性的小伙伴的可以点进我C++的专栏就可以看到。 类型推导(

    2024年02月14日
    浏览(63)
  • 【从零开始学习C++ | 第二十一篇】C++新增特性 (上)

    目录  前言: 委托构造函数: 类内初始化: 空指针: 枚举类: 总结:         C++的学习难度大,内容繁多。因此我们要及时掌握C++的各种特性,因此我们更新本篇文章,向大家介绍C++的新增特性。 委托构造函数是指一 个类的构造函数调用另一个类的构造函数,以减少代

    2024年02月13日
    浏览(69)
  • 从零开始学习 Java:简单易懂的入门指南之时间类(十七)

    java.util.Date`类 表示特定的瞬间,精确到毫秒。 继续查阅Date类的描述,发现Date拥有多个构造函数,只是部分已经过时,我们重点看以下两个构造函数 public Date() :从运行程序的此时此刻到时间原点经历的毫秒值,转换成Date对象,分配Date对象并初始化此对象,以表示分配它的时

    2024年02月11日
    浏览(196)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包