关于String的一些基础小题目
需求一:从键盘输入一串字符串,统计数字,字母,空格,其它字符的个数
import java.util.Scanner; public class Q1 { public static void main(String[] args) {
// TODO Auto-generated method stub
//从键盘输入一串字符串,统计数字,字母,空格,其它字符的个数
Scanner sc=new Scanner(System.in);
String str=sc.next();
int n=str.length();
int englishchar=0,number=0,blank=0,others=0; //字母,数字等类型的个数初始化
for(int i=0;i<n;i++){
if((str.charAt(i)>='A'&&str.charAt(i)<='Z')||(str.charAt(i)>='a'&&str.charAt(i)<='z')){ //判断是不是a-z或者A-Z的字母
englishchar++;
}else if(str.charAt(i)==32){ //判断是不是空格
blank++;
}else if(str.charAt(i)>=48&&str.charAt(i)<=57){ //判断是不是数字
number++;
}else {
others++;
}
}
System.out.println("字母个数:"+englishchar);
System.out.println("数字个数:"+number);
System.out.println("空格个数:"+blank);
System.out.println("其它字符个数:"+others);
} }
需求二:从键字输入一个字符串(由英文字母组成),
将该字符串中所有的字母改成该字母的下一个字母,如b改成c,字母z改为a要求,大小写不变
import java.util.Scanner; public class Q2 { public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.println("输入一个英文字符串:");
String str=sc.next();
char str2='a';
for (int i=0;i<str.length();i++){
str2=(char) (str.charAt(i)+1); //将位置上的字母对应的数字+1,然后再转成char
if(str.charAt(i)=='z'){ //如果位置上的字母是z,那就不是+1.而是把a赋值给这个位置
str2='a';
}
System.out.print(str2);
}
} }
public class Q3 {
// 需求三:有一个字符串”hello world,hello,java”,统计这段话中字符串”ll”出现的次数
public static void main(String[] args) {
String str="hello world,hello,java";
int n=str.length();
String str2="ll";
int n2=str2.length();
int count=0;
for(int i=0;i<n-n2;i++){
if(str2.equals(str.substring(i,n2+i))){
count++;
} }
System.out.print("字符串“ll”出现的次数:"+count);
} }
需求四:控制台随机产生一个6位数的验证码(包含数字,大小写字母),输入验证码,
如果输入正确,提示验证码正确,否则提示验证码错误
import java.util.Random;
import java.util.Scanner; public class Q4 { public static void main(String[] args) { Random rd = new Random();
String str = ""; for (int i = 0; i < 6; i++) { //循环6次,产生6个元素
int n = rd.nextInt(3); //随机产生三种情况分别代表数字,大写字母,小写字母
switch (n) {
case 0:{
int a=rd.nextInt(10);
str+=a;
break;
}
case 1:{
char b=(char)(rd.nextInt(26)+65);
str+=b;
break;
}
case 2:{
char c=(char)(rd.nextInt(26)+97);
str+=c;
break;
}
default:
break;
}
}
System.out.println("随机验证码:"+str);
//输入验证码
Scanner sc=new Scanner(System.in);
System.out.print("输入验证码:");
String input=sc.next();
//比较输入的验证码是否正确
if(input.compareToIgnoreCase(str)==0){
System.out.print("验证码正确!");
}else {
System.out.print("验证码错误!!!");
}
} }
需求五:对一个字符串里的字符进行排序
public static void main(String[] args) {
// 对一个字符串进行排序
String str="asdfghj";
System.out.println("对"+str+"进行排序");
//字符串是final类型不可进行改变,需要先把string改成char数组
char[]arr=new char[str.length()];
for(int i=0;i<str.length();i++){
arr[i]=str.charAt(i);
System.out.print(arr[i]+"\t");
}
System.out.println();
//开始冒泡
char n='0';
for (int i = 0; i < arr.length-1; i++) {
for (int j = 0; j < arr.length-1-i; j++) {
if(arr[j]>arr[j+1]){
n=arr[j];
arr[j]=arr[j+1];
arr[j+1]=n;
}
}
}
for(int i=0;i<arr.length;i++){
System.out.print(arr[i]+"\t");
}
}
需求六:对一个字符串数组进行排序
public static void main(String[] args) {
// 对一个字符串数组进行排序
String []strarr={"zsd","ffbg","dfges"}; for(int i=0;i<strarr.length;i++){
System.out.print(strarr[i]+"\t");
}
System.out.println();
String n="";
for (int i = 0; i <strarr.length-1; i++) {
for (int j = 0; j < strarr.length-1-i; j++) {
if(strarr[j].compareToIgnoreCase(strarr[j+1])>0){
n=strarr[j];
strarr[j]=strarr[j+1];
strarr[j+1]=n;
}
}
}
for(int i=0;i<strarr.length;i++){
System.out.print(strarr[i]+"\t");
}
}
关于String的一些基础小题目的更多相关文章
- JAVA关于字符串&&字符数组处理的小题目
JAVA关于字符串&&字符数组的小题目 第二题:分析以下需求,并用代码实现 1.键盘录入一个大字符串,再录入一个小字符串 2.统计小字符串在大字符串中出现的次数 3.代码运行打印格式: ...
- js小题目(持续更新)
总是感觉之前做过的问题很久没碰的话就会忘掉,于是打算专门开一个记录小题目的随笔当题典用. 目录 五种主要数据类型进行值复制 数组去重 数组去重并计数 实现clone()方法,对五种主要数据类型进行值复 ...
- 【转】 Pro Android学习笔记(九七):BroadcastReceiver(1):基础小例子
目录(?)[-] 基础小例子 发送Broadcast intent 运行情况 应用间的广播 文章转载只能用于非商业性质,且不能带有虚拟货币.积分.注册等附加条件.转载须注明出处:http://blog ...
- 【转】 Pro Android学习笔记(三九):Fragment(4):基础小例子-续
目录(?)[-] Step 3实现简介显示类DetailFragment 创建实例 编写所需的生命周期代码 Step 4实现showDetailint index如何管理fragment fragme ...
- 《java入门第一季》之类(String类常见方法小叙)
String类下面的构造方法和一些常见的方法: /* * 字符串:就是由多个字符组成的一串数据.也可以看成是一个字符数组. * 通过查看API,可以知道 * A:字符串字面值"abc&quo ...
- 自家人不认识自家人——考你一道有趣的Javascript小题目
今天的内容很简单,给大家分享一个有趣的Javascript小题目. 题目很简单,就是填空: var a = ______; var b = a; alert(a==b); // alert " ...
- js基础小总结之string&array&object
一.数据类型之间的转换 string--->number :parseInt(string)/parseFloat(string); 注:在Date中,因为返回值date为单位为ms的字符串,将 ...
- 刚开始学习Javascript的一些基础小知识,从入门到崩溃,希望对大家有帮助(只适合初学者)
一.简介 1.JavaScript一种直译式脚本语言,是一种动态类型.弱类型.基于原型的语言,内置支持类型,js不能操作文件. 重要的开始啦!!!!! 引入javascript: 行间js <d ...
- 熟悉Python的各种基础小算法
网上有一个Python100小例子的栏目,里面代码良莠不齐,于是下面就自己实现了其中的一些案例. 01.py # coding:utf-8 import sys reload(sys) sys.set ...
随机推荐
- 云HBase发布全文索引服务,轻松应对复杂查询
云HBase发布了“全文索引服务”功能,自2019年01月25日后创建的云HBase实例,可以在控制台免费开启此“全文索引服务”功能.使用此功能可以让用户在HBase之上构建功能更丰富的搜索业务,不再 ...
- 盘点 Python 中的那些冷知识(一)
小明在日常Code中遇到一些好玩,冷门的事情,通常都会记录下来. 现在已经积攒了一些了,最近打算整理一波,发出来给大家补补.一篇只分享五个,有时间了就整理.不想错过的,千万记得关注一下. 1. 省略号 ...
- revit二次开发wpf里button按钮无法实现事务
不能在revit提供的api外部使用事务,解决此方法, 1.把button里要实现的功能写到外部事件IExternalEventHandler中,注册外部事件,在button事件中.raise()使用 ...
- 禁用了传说中的PHP危险函数之后,Laravel的定时任务不能执行了?
虽然已是 2018 年,但网上依然流传着一些「高危 PHP 函数,请一定要禁用!」的标题党文章(搜索关键字:一些需要禁用的PHP危险函数). 这些文章的内容简单直接,给出 php.ini 的 disa ...
- Java中字符串相加和字符串常量相加区别
有一道这样的程序: public class TestStringDemo { public static void main(String[] args) { String s1 = "P ...
- PMP(第六版)十大知识领域、五大项目管理过程组、49个过程矩阵
今天整理了PMP(第六版)十大知识领域.五大项目管理过程组.49个过程矩阵,分享出来,希望对要考PMP的童鞋有帮助. PS.红字是与第五版的差异 转走请标明出处 https://www.cnblog ...
- 数据文件实时同步(rsync + sersync2)
因近期项目需求,需要同步云端服务器的数据给**方做大数据分析. 思路: 起初只要数据同步,准备开放数据采集接口.但实时性较差,会有延迟. 故而寻觅各种解决方案,最终确定使用 rsync 进行文件同步, ...
- centos7新增硬盘
centos7新增硬盘 步骤:分区---格式化---挂载(配置开机自动挂载) 1.分区 fdisk -l 查看硬盘信息确认新硬盘的名称(以/dev/sdb为例) fdisk /dev/sdb 管理硬 ...
- mstsc远程连接发生身份验证错误要求的函数不受支持
在win7电脑上使用远程连接连接一台服务器时,出现发生身份验证错误要求的函数不受支持的错误,原因是本地组策略配置错误,如下图: 解决办法: 进入windows命令行模式输入命令: 会弹出本地策略组编辑 ...
- Java基础系列--08_集合1
---恢复内容开始--- 集合当中有很多都是应用到泛型的技术,所以在讲集合之前,应该先将泛型的概念普及一下. 泛型: (1)泛型是一种类型,但是这种类型是在编译或者调用方法时才确定. (2 ...