java_1125

article/2025/8/23 23:22:42

1。从键盘输入一个字符串
   编写一个程序,判断输出一个字符串中大写英文字母数,和小写英文字母数,和其他非英文字母数
2.
编写一个方法,返回一个double类型的二维数组,数组中的元素通过解析字符串参数获得,如字符串参数为“1,2;3,4,5;6,7,8;9”的参数

 

题1、

源代码如下:

package org.jsoft.test;

import java.util.Scanner;

public class Test_2 {

    static int countUpperLutter(String s) {// 判断字符串中大写字母的个数
        int count1 = 0;
        char b[] = s.toCharArray();// 将此字符串转换为一个新的字符数组,这个新分配的字符数组的长度是此字符串的长度
        for (int i = 0; i < s.length(); i++) {
            if (b[i] <= 'Z' && b[i] >= 'A') {// 通过比较字符(即为字母)的ASCII码大小来确立大写字母的位置范围
                count1++;
            }
        }
        return count1;
    }

    static int countLowerLutter(String s) {// 判断字符串中小写字母的个数
        int count2 = 0;
        char b[] = s.toCharArray();
        for (int i = 0; i < s.length(); i++) {
            if (b[i] <= 'z' && b[i] >= 'a') {
                count2++;
            }
        }
        return count2;
    }

    static int countSpacer(String s) {// 判断字符串中空格的个数
        int count3 = 0;
        char b[] = s.toCharArray();
        for (int i = 0; i < s.length(); i++) {
            if (b[i] == ' ') {// 判断其是否是空格,是空格就计数加1
                count3++;
            } else {
                continue;// 此处多余
            }
        }
        return count3;
    }

    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        System.out.println("请您输入一段字符串:");
        String s = in.nextLine();// 此处的输入,必须得为nextLine(),即为读取正行的输入,否则,将无法读取空格以及空格之后的数据
        System.out.println("字符串中大写字母数:");
        int countA = countUpperLutter(s);
        System.out.println(countA);
        System.out.println("字符串中小写字母数:");
        int countB = countLowerLutter(s);
        System.out.println(countB);
        System.out.println("字符串中空格数:");
        int countS = countSpacer(s);
        System.out.println(countS);
        System.out.println("剩余的其他非英文字母数:");
        System.out.println(s.length() - countA - countB - countS);// 剩余的其他非英语字母数,用字符串的长度减去先前所有已经统计完的总和就为所求
        
    }

}

 

执行效果如下:

174757_yqKi_3715016.png

 

题2、方法一:

源代码如下:

package org.jsoft.test;

import java.util.Scanner;

public class Test_4 {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        String s1 = "1,2;3,4,5;6,7,8;9";
        String s2[] = s1.split(";");// 第一次切割,用s2[]保存
        String s3[][] = new String[s2.length][];// 创建完全切割后所构成的String数组的第一维(行数)大小
        double d[][] = new double[s2.length][];// 创建同s3的double数组
        String[] s4;// 引用类型,可以先声明,并不赋值

        for (int i = 0; i < s2.length; i++) {// 第一次循环
            s4 = s2[i].split(",");// 对s2中的数组的元素进行二次切割并用s4储存
            s3[i] = new String[s4.length];// 设置s3中第一维数组的大小(第一行的长度大小)
            d[i] = new double[s4.length];// 同s3
            for (int j = 0; j < s4.length; j++) {// 第二次循环
                s3[i][j] = s4[j];// 对每一行的数组赋值,第二次切割后的赋值,赋值到每一行(每一维)
                d[i][j] = (double) Integer.parseInt(s3[i][j]);// 将String数组赋给double数组,同时对数据类型进行转换
                System.out.print(" "+s3[i][j] + "  ");// 输出double数组一行的每个,输出一个元素+左右各一个空格
            }
            System.out.println('\n');// 第一层循环完后输出换行
        }

    }

}

 

 

执行效果如下:

194220_027p_3715016.png

 

方法二:

源代码如下:

package org.jsoft.test;

public class Test_5 {

    static double[][] deal(String s, String regex1, String regex2) {// 传入需要切割的数组,以及切割符号字符串
        String[] s2 = s.split(regex1);// 第一次切割,切割regex1,并使用String数组s2进行保存结果
        double[][] d1 = new double[s2.length][];// 切割后产生的段数,即为即将导入的二维数组的第一维的个数(即为行数)
        for (int i = 0; i < s2.length; i++) {// 第一层循环
            String[] s3 = s2[i].split(regex2);// 进行第二次切割,此次切割后产生的为具体每个元素,使用String数组s3进行保存
            d1[i] = new double[s3.length];// 将切割产生的元素个数同时对对应的行数的中的元素个数(即为列数)进行初始化空间
            for (int j = 0; j < s3.length; j++) {
                d1[i][j] = (double) Integer.parseInt((s3[j]));// 对对应每行的元素进行具体的对应的赋值
            }
        }

        return d1;// 返回切割完成后生成的二维double型数组
    }

    public static void main(String[] args) {
        String s1 = "1,2;3,4,5;6,7,8;9";
        double d[][] = deal(s1, ";", ",");// 调用本类静态方法
        for (int i = 0; i < d.length; i++) {// 输出切割完成后的二维数组
            for (int j = 0; j < d[i].length; j++) {

                System.out.print(" " + d[i][j] + "");

            }

            System.out.println("");
        }

    }
}
 

执行效果图如下:

115136_mxxk_3715016.png

 

 

 

 

 

175034_J9Lz_3715016.png

源代码如下:

181457_xKfd_3715016.png

 

执行效果如下:

    181510_xH3N_3715016.png

 

转载于:https://my.oschina.net/u/3715016/blog/1579789


http://chatgpt.dhexx.cn/article/TQ5uBQBo.shtml

相关文章

java_1115

定义一个接口 MediaPlayer&#xff0c;表示家庭影院的一个设备。MediaPlayer 中 包含 play()&#xff0c;stop()&#xff0c; open()三个方法&#xff0c;分别表示播放、停止和开仓功能。 MediaPlayer 有三个实现类&#xff0c;分别为&#xff1a; DVDPlayer&#xff0c;表示 …

java--Integer的128陷阱

包装类 提到128陷阱就不得先说一下包装类 1.为什么有包装类 在面向对象中&#xff0c;“一切皆对象”&#xff0c;但基本数据类型的数据不太符合这一理念&#xff0c;基本数据类型不是对象.涉及到类型之间的转化&#xff0c;数据类型之间的基本操作&#xff1b;如果都有我们…

P1152 java

package suanfa_xiaoqiang1; import java.util.Arrays; import java.util.Scanner; public class P1152 { public static void main(String[] args) { Scanner sc new Scanner(System.in); int nsc.nextInt(); int[] anew int[n1]; //数组遍历从1开始的时候&#xff0c;要加…

Java(11)

学习来源&#xff1a;日撸 Java 三百行&#xff08;21-30天&#xff0c;树与二叉树&#xff09; 第 28 天: Huffman 编码 (节点定义与文件读取) 输入&#xff1a;输入表示文本文件的字符串paraFilename 输出&#xff1a;构造对象tempHuffman并输出文本文件的内容inputText 优…

Java-1110

https://github.com/Lannister-never-pay/JavaWebLearning/tree/main/java1108 因为懒&#xff0c;还是用的1108的module JSP 指令 作用&#xff1a;用于配置JSP页面&#xff0c;导入资源文件 格式&#xff1a;<% 指令名称 属性名1属性值1 属性名2属性值2 %> 多个键值…

Java——详解Integer128陷阱

今天我们来一起探讨一下Java的128陷阱 首先我们通过代码对128陷阱进行一个认知 public static void main(String[] args){Integer a 127 ;Integer b 127 ;Integer c 128 ;Integer d 128 ;Integer e 1000 ;Integer f 1000 ;int a1 127;int b1 127;int c1 128;int d1 …

Java-11

学习来源&#xff1a;日撸 Java 三百行&#xff08;31-40天&#xff0c;图&#xff09;_闵帆的博客-CSDN博客 36 邻接表 36.1 相当于图的压缩存储. 每一行数据用一个单链表存储。 36.2 重写了广度优先遍历. 可以发现, 使用队列的机制不变. 仅仅是把其中的 for 循环换成了 wh…

JAVA101-135

JAVA101-150 字符串StringBuilder链式编程简化代码对应的关系可以使用查表法&#xff0c;通过数组的对应的下表来改变成相应的值 修改字符串字符串变整数重点&#xff1a;字符串变为数组 ArrayList集合的基本使用集合一开始的长度为0&#xff0c;如果用循环&#xff0c;进不去 …

Java-1214

Spring5总体学习内容 Spring基本概念IOC容器AopJdbcTemplate事务管理Spring5新特性 框架概述 Spring是轻量级的开源的JavaEE框架Spring可以解决企业应用开发的复杂性Spring有两个核心部分&#xff1a;IOC、Aop IOC&#xff1a;控制反转&#xff0c;把创建对象的过程交给Spri…

下载Google Play外国区APP技巧

安卓用户若遇到喜欢的APP是外国区的&#xff0c;只要翻墙就能下载。比起果粉还要注册&#xff0c;是简便很多。但有没有更简单的办法&#xff1f;这个必须有&#xff01;笔者前几天在网上闲逛时&#xff0c;就发现了一个给力的网站。让你不用翻墙&#xff0c;只需3个步骤&#…

Google Play国内应用市场发布版本步骤指导

应用发布步骤指导 前言Google Play华为小米Vivooppo 博客创建时间&#xff1a;2022.08.19 博客更新时间&#xff1a;2022.08.22 以Android studio build7.0.0&#xff0c;SDKVersion 31来分析讲解。如图文和网上其他资料不一致&#xff0c;可能是别的资料版本较低而已。 前言 …

Google Play App Signing的问题以及解决方式

Google Play App Signing是Google Play 的应用签名&#xff0c;在Google Play上创建项目的时候如果勾选了它&#xff0c;那么它就会生成一个签名文件&#xff0c;不管你上传到Google Play的apk是否用你的签名文件打包&#xff0c;最终都会被替换成Google Play App Signing里的签…

如何将Flutter开发的Android app 发布Google Play(谷歌应用商店)流程

将Flutter Android app 发布Google Play&#xff08;谷歌应用商店&#xff09;流程 一、首先就是要做到科学&#xff01; 二、打开google play官网&#xff0c;注册谷歌账号 三、打开谷歌开发者站点https://play.google.com/apps/publish/signup/创建你的App应用 四、创建完…

h5/uni-app打开手机app,没有则跳转到商店下载

需求&#xff1a;在做商品分享/直播分享时&#xff0c;app内分享出去的链接&#xff0c;能够在微信、手机浏览器打开。 遇到的问题&#xff1a; 1&#xff0c;Android&#xff0c;当手机没有下载app时&#xff0c;在浏览器打开&#xff0c;会下载app&#xff0c;但是手机下载了…

最新版Google Pay上传App指南

现在2022年&#xff0c;是时候来个最新版的操作指南 创建应用 使用谷歌市场开发者账号登录 开发者平台。成功登录后&#xff0c;单击 创建应用。 填写应用的 应用名称。选择应用的 默认语言。在应用或游戏处&#xff0c;选择 应用。根据个人情况选择免费或付费。 勾选 开发者…

网页下载Google Play 的App

网页下载Google Play 的App 文章目录[点击展开](?)[] 前言 当你想在google play上下载某个应用&#xff0c;而无奈手机的系统并没有安装google servicess&#xff0c;此刻是否有些捉急&#xff1f; 本文分享的是一个网站&#xff0c;它可以无需手机而直接通过网页下载Google P…

【Google Play】App Bundle 使用详解 ( 简介 | 应用内更新 | 即时更新 | 灵活更新 )

Google Play 上架完整流程 系列文章目录 【Google Play】创建 Google 开发者账号 ( 注册邮箱账号 | 创建开发者账号 ) 【Google Play】创建并设置应用 ( 访问权限 | 内容分级 | 受众群体 | 类别及联系方式 | 商品详情 ) 【Google Play】App Bundle 使用详解 ( 简介 | 应用内更…

Google Play上架App设置隐私政策声明问题

APP上架Google Play一定要设置隐私政策声明,否则是不给上架的 隐私政策解决方法,生成隐私内容&#xff1a; 点击网址进入 App Privacy Policy Generator 之后根据app的名称&#xff0c;类型&#xff0c;平台&#xff0c;选择对应的选项&#xff0c; 包含对应的第三方隐私服务…

WhatsApp的下载与更新

这两天登录手机&#xff08;安卓&#xff09;的WhatsApp&#xff0c;一直显示我的WhatsApp即将几天后更新&#xff0c;请及时更新到最新的版本&#xff0c;尝试了网上的多种方法&#xff0c;还是没有成功&#xff0c;当然不排除我笨的因素&#xff0c;后来我的小脑瓜子那么一转…