1、题目一:计算出现次数和位置

1.1 问题描述

编写程序统计一个字符子串在一个字符串中出现的次数和位置。如子字符串“nba”在字符串”asfasfnabaasdfnbasdnbasnbasdnbadfasdf”中出现的次数和出现的位置。

1.2 解题思路

需要运用到String类的几个常用方法

indexOf(ch)  //用于返回指定子串“ch”在字符串中第一次出现的位置contains() //用于判断字符串中是否包含指定的字符或字符串。substring(int beginIndex) //用于返回新字符串,包含一个参数beginIndex,表示从beginIndex开始到结尾结束

具体使用方法见代码

1.3 运行代码

public class wmj4_1 {//创建寻找出现次数和出现位置的函数,导入参数字符串和要寻找的字符public static void main(String[] args){String str="asfasfnabaasdfnbasdnbasnbasdnbadfasdf";String key="nba"; //需要查找的子串int count=1; //出现的次数int index,index1=0; //下标int n=1;  //用于显示每次出现//首先判断子串是否在字符串中if(str.contains(key)){//如果下标等于第一次出现的子串,并且不等于-1while((index=str.indexOf(key))!=-1){//返回一个新字符串,从找到的第一个子串后开始到结束str=str.substring(index+key.length());//输出当前的位置System.out.println("第"+(n++)+"次出现的位置是:"+(index+index1));index1=(index+index1+key.length()); //因为substring会返回新的列表,用index1来记录原来的下标count++;}}System.out.println("统计:字符串nba一共出现了"+count+"次");   }}

1.4 运行结果

第1次出现的位置是:14
第2次出现的位置是:19
第3次出现的位置是:23
第4次出现的位置是:28
统计:字符串nba一共出现了5次

如果不保存原来的下标操作,结果会是这样的:

2、题目而:计算出现次数和位置

2.1 问题描述

对字符串“23 10 -8 0 3 7 108”中的数值进行升序排序,生成一个数值有序的字符串 “-8 0 3 7 10 23 208”。

2.2 解题思路

需要运用到StringBuilder类的几个常用方法

具体使用方法见代码

2.3 运行代码

import java.util.Arrays;public class wmj4_2 {private static final String SEPARATOR=" ";public static void main(String[] args){String numstr="23 10 -8 0 3 7 108";String numstrs=SortNumberString(numstr);System.out.println(numstrs);}private static String SortNumberString(String numstr) {//将字符串转换为多个数字格式的字符串数组String[] numbers=toStringArray(numstr);int[] numint=toIntArray(numbers);sort(numint);return toString(numint);}private static String toString(int[] numint){StringBuilder sb=new StringBuilder();for(int i=0;i<numint.length;i++){//判断是否为最后一行if(i!=numint.length-1){sb.append(numint[i]+SEPARATOR);}else{sb.append(numint[i]);}}return sb.toString();}private static void sort(int[] numint){Arrays.sort(numint);}private static int[] toIntArray(String[] numbers){int[] numint=new int[numbers.length];for(int i=0;i<numbers.length;i++){numint[i]=Integer.parseInt(numbers[i]);}return numint;}private static String[] toStringArray(String numstr){return numstr.split(SEPARATOR);}}

2.4 运行结果

-8 0 3 7 10 23 108

2、题目而:计算出现次数和位置

3.1 问题描述

对字符串“23 10 -8 0 3 7 108”中的数值进行升序排序,生成一个数值有序的字符串 “-8 0 3 7 10 23 208”。

3.2 解题思路

需要运用到StringBuilder类的几个常用方法

具体使用方法见代码

3.3 运行代码

import java.io.IOException;
import java.util.*;
import java.util.Scanner;public class wmj4_3 {public static void main(String[] args){//输入Scanner sc=new Scanner(System.in);//获取当前系统属性Properties pp=System.getProperties();//获取当前应用程序的运行环境对象Runtime rt=Runtime.getRuntime();String tmp=null;while(true){System.out.println("请选择操作 【请用大写字母】:");System.out.println("*************************************");System.out.println("A:记事本");System.out.println("B:重启计算机");System.out.println("C:启动QQ");System.out.println("D:查看系统操作");System.out.println("G:退出");tmp=sc.next();if(tmp.equals("A")){try{rt.exec("notepad.exe");}catch(IOException e){e.printStackTrace();}}else if(tmp.equals("B")){try{rt.exec("shutdown -r");}catch(IOException e){e.printStackTrace();}}else if(tmp.equals("C")){try{rt.exec("D:\\Program Files\\tencent\\QQ\\Bin\\QQScLauncher.exe");}catch(IOException e){e.printStackTrace();}}else if(tmp.equals("D")){Enumeration ee=pp.propertyNames();while(ee.hasMoreElements()){//获取系统属性的keyString key=(String)ee.nextElement();String value=System.getProperty(key);System.out.println(key+"--->"+value);}}else if(tmp.equals("G")){break;}}}
}

3.4 运行结果

请选择操作 【请用大写字母】:
*************************************
A:记事本
B:重启计算机
C:启动QQ
D:查看系统操作
G:退出
D
java.runtime.name--->Java(TM) SE Runtime Environment
sun.boot.library.path--->E:\Java base\jdk\jre\bin
java.vm.version--->25.291-b10
java.vm.vendor--->Oracle Corporation
java.vendor.url--->http://java.oracle.com/
path.separator--->;
java.vm.name--->Java HotSpot(TM) 64-Bit Server VM

JavaAPI试题练习相关推荐

  1. 大数据_MapperReduce_Hbase的优化和Hbase相关面试题_以及hbase的javaapi的一部分源码---Hbase工作笔记0029

    技术交流QQ群[JAVA,C++,Python,.NET,BigData,AI]:170933152 然后我们进一步去看一下,这个hbase相关的一些优化情况. 首先我们去看这个内存优化. 可以看到, ...

  2. Hadoop 面试题之Hbase

    Hadoop 面试题之九 16.Hbase 的rowkey 怎么创建比较好?列族怎么创建比较好? 答: 19.Hbase 内部是什么机制? 答: 73.hbase 写数据的原理是什么? 答: 75.h ...

  3. java doubke类型转换为String_Java基础知识面试题大集合

    本文整理自作者:ThinkWon  链接: blog.csdn.net/ThinkWon/article/details/104390612 本文知识点目录 Java概述 何为编程 什么是Java j ...

  4. 大数据面试题及答案 汇总版

    版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/albg_boy/article/det ...

  5. 这份354页笔记的Android进阶知识+大厂高频面试题,绝对干货

    程序员与别的专业有所不同,其他专业都是越老越香,而程序员却是一个例外,因为计算机技术更新太快,而且工作强度很大,因此大部分程序员只会写 3 年代码.3 年后要不晋升做项目经理,要么转行,个别研究所除外 ...

  6. Java线程面试题 Top 53

    1) 什么是线程? 线程是操作系统能够进行运算调度的最小单位,它被包含在进程之中,是进程中的实际运作单位.程序员可以通过它进行多处理器编程,你可以使用多线程对运算密集型任务提速.比如,如果一个线程完成 ...

  7. java super用法_Java基础面试题汇总

    blog.csdn.net/ThinkWon/article/details/104390612 Java概述 何为编程 编程就是让计算机为解决某个问题而使用某种程序设计语言编写程序代码,并最终得到结 ...

  8. java面试题2021最新

    1 java的跨平台: 概念:java编写的程序一次编译后,可以在运行在任何操作系统上 原理:java的跨平台关键是借助jvm,JVM是一个"桥梁",不同的平台对应不同的jvm(如 ...

  9. Java继承_30道最常问的Java基础面试题

    30道最常问的Java基础面试题 1. 面向对象和面向过程的区别面向过程优点: 性能比面向对象高,因为类调用时需要实例化,开销比较大,比较消耗资源;比如单片机.嵌入式开发.Linux/Unix等一般采 ...

  10. [转载] Java基础知识面试题(2020最新版)

    参考链接: Java中的异常类型与示例 文章目录 Java概述何为编程什么是Javajdk1.5之后的三大版本JVM.JRE和JDK的关系什么是跨平台性?原理是什么Java语言有哪些特点什么是字节码? ...

最新文章

  1. 精品软件 推荐 ESET Smart Security
  2. c mysql如何获取照片_MYSQL数据库存取图片等文件(C语言)
  3. FineUI小技巧(5)向子窗口传值,向父窗口传值
  4. 数据科学产业中哪些架构最热门?本文为你盘点了 5 款!
  5. 程序中,序列化与反序列化
  6. Spring基础18——通过注解配置bean之间的关联关系
  7. python地址簿3.7版本_用python编写地址簿程序的问题
  8. 如何衡量多元线性回归模型优劣
  9. Idea 进行断点调试的 快捷键
  10. Javascript:访问和设置CSS属性
  11. JDK11竟然不支持字体斜体
  12. Samsung GT-P5100刷andorid 4.3
  13. 用python做股票因子分析_因子分析(by+alphalens)
  14. 苹果4计算机错误怎么办,苹果刷机失败卡在恢复模式怎么办?
  15. 你真的知道如何正确清除 DNS 缓存吗?( 附全平台详细教程 )
  16. 笔记本跑python 90多度会坏吗_cpu温度多高才安全?90度会烧坏吗??
  17. 棋牌游戏前后端技术介绍
  18. 华清远见-STM32 SPI笔记
  19. 微信营销系统(第三方微信平台)之卡券营销模块(获客营销利器 留住老客户法宝)...
  20. 真实可行的android 基站定位代码

热门文章

  1. 介词for和with 和of的用法_常用介词用法(fortowithof).
  2. #Android Studio使用(1)#
  3. XX办公用品系统的设计与实现
  4. 最强实战,接口自动化测试Python3+Requests+Unittest+ddt框架封装(详细)
  5. mac查看linux文件,macOS/Linux 下查看二进制文件
  6. 无代码RPA:办公自动化工具,不会编程也能“一键完成”
  7. sql“Column ‘sn‘ in field list is ambiguous”错误
  8. 计算机编程绘制函数图像,MyCalc: VB6.0 编写的一个计算器程序,有基础的函数图像绘制功能。...
  9. 植物大战僵尸新植物僵尸(上)
  10. Java全栈和Java后端,HR的话扎心了