题目:
1. 给定一个字符串,判断该字符串中是否包含某个子串.如果包含,求出子串的所有出现位置.
如:"abcbcbabcb34bcbd"中,"bcb"子串的出现位置为: 1,7,12.字符串和子串均由用户输入
2.给定一个长度,随机产生一个该长度的字符串,由大写,小写字母以及数字组成
Java中随机数的生成:
java.util.Random r = new java.util.Random();
int a = r.nextInt(100): a 0-99的随机数
3.给定一个由数字组成的字符串,如:"1239586838923173478943890234092",统计
出每个数字出现的次数
答案如下:
package Chp10; import java.util.HashMap;
import java.util.Map;
import java.util.Random;
import java.util.Scanner;
import java.util.Set; public class TestString2
{
public static void Method_One()
{ Scanner s = new Scanner(System.in);
System.out.println("请输入一个父串");
String str = s.next(); System.out.println("请输入一个子串");
String str1 = s.next(); int stat = 0;
while (true)
{
int i = str.indexOf(str1,stat);
if (i==-1)
{
break;
}
System.out.println(i);
stat = i+str1.length();
} } public static void Method_Two()
{
System.out.println("请输入一个长度");
Scanner s = new Scanner(System.in);
int n = s.nextInt();
char[] cs = new char[n]; Random random = new Random();
for (int i = 0; i < n; i++)
{
int a = random.nextInt(62);
if(a>=0 && a<=25)
{
a+=65;
}
else if (a>25 && a<=51)
{
// 97 - 26 = 71
a+=71;
}
else
{
// 52-48 = 4
a-=4;
}
cs[i] = (char)a;
}
System.out.println(cs);
} public static void Method_Three()
{
Scanner scanner = new Scanner(System.in);
String string = scanner.next();
int[] c = new int[10];
for (int i = 0; i < string.length(); i++)
{
char c1 = string.charAt(i); //48-57
int a = c1-48; // 类型转换
c[a]++;
}
for (int i = 0; i < c.length; i++)
{
System.out.println(i+" 出现的次数: "+c[i]);
} System.out.println("=========方法二==========");
String s = "12548954231351486214894562";
char[] ch = s.toCharArray(); Map<Character, Integer> map = new HashMap<Character, Integer>();
Set<Character> set = map.keySet();
for (int i = 0; i < ch.length; i++)
{
if (set.contains(ch[i])) // 判断map中已经有的char值
{
map.put(ch[i], map.get(ch[i])+1);
} else
{
map.put(ch[i], 1); // 第一次放入map中
}
}
Set<Character> set2 = map.keySet();
for (Character character : set2)
{
System.out.println(character+"=========="+map.get(character));
}
} public static void main(String[] args)
{
System.out.println("第一题如下:");
Method_One();
System.out.println("第二题如下:");
Method_Two();
System.out.println("第三题如下:");
Method_Three();
}
}
Java String类练习题的更多相关文章
-
Java String类详解
Java String类详解 Java字符串类(java.lang.String)是Java中使用最多的类,也是最为特殊的一个类,很多时候,我们对它既熟悉又陌生. 类结构: public final ...
-
JAVA String 类
java String类中的常用方法:public char charAt(int index)返回字符串中第index个字符:public int length()返回字符串的长度:public i ...
-
Java String类具体解释
Java String类具体解释 Java字符串类(java.lang.String)是Java中使用最多的类,也是最为特殊的一个类,非常多时候,我们对它既熟悉又陌生. 类结构: public fin ...
-
Java 11 - Java String类
Java String类 字符串广泛应用在Java编程中,在Java中字符串属于对象,Java提供了String类来创建和操作字符串. 创建字符串 创建字符串最简单的方式如下: String gree ...
-
Java-Runoob:Java String 类
ylbtech-Java-Runoob:Java String 类 1.返回顶部 1. Java String 类 字符串广泛应用 在Java 编程中,在 Java 中字符串属于对象,Java 提供了 ...
-
Java String类的常用方法
String(byte[ ] bytes):通过byte数组构造字符串对象. String(char[ ] value):通过char数组构造字符串对象. String(Sting original) ...
-
Java学习笔记之:Java String类
一.引言 字符串广泛应用在Java编程中,在Java中字符串属于对象,Java提供了String类来创建和操作字符串. 创建字符串最简单的方式如下: String str= "Hello w ...
-
Java String类的比较运算
面试题:(多选)以下返回true的有() A. "beijing" == "beijing" B. "beijing".equals(new ...
-
Java String类和StringBuffer类的区别
1.String与StringBuffer的区别简单地说,就是一个变量和常量的关系.StringBuffer对象的内容可以修改:而String对象一旦产生后就不可以被修改,重新赋值其实是两个对象.St ...
随机推荐
-
centos查看实时网络带宽占用情况方法
Linux中查看网卡流量工具有iptraf.iftop以及nethogs等,iftop可以用来监控网卡的实时流量(可以指定网段).反向解析IP.显示端口信息等. centos安装iftop的命令如下: ...
-
Telerik_2012_Q3 (已破解)全套下载链接
1.Telerik_OpenAccess_ORM_2012_3_1012_SDK.zip (暂未提供下载) 2. Telerik_OpenAccess_ORM_2012_3_1012.zip 3. T ...
-
js replace如何实现全部替换
js中replace默认只替换第一个相关字符,要想实现替换全部相关字符.如下: replace(/*/g, ','); 例如,替换字符串中的\n str.replace(/\n/g, ',');
-
解决OpenWrt多拨刚开机拨号只拨上一次问题
红色标注为需要权限755/etc/ppp/ip-up.d/ip-up: 一旦 PPP 连结建立后, pppd 会找寻 /etc/ppp/ip-up 指令稿 如果这个指令稿存在并且可以执行的话,那么 P ...
-
Java核心技术(Java白皮书)卷Ⅰ 第一章 Java程序设计概述
第1章 Java程序设计概述1.1 Java程序设计平台 具有令人赏心悦目的语法和易于理解的语言,与其他许多优秀语言一样,Java满足这些要求. 可移植性 垃圾收集 提供大型的库 如果想要有奇特的绘 ...
-
高通ASOC中的codec驱动
ASOC的出现是为了让codec独立于CPU,减少和CPU之间的耦合,这样同一个codec驱动就无需修改就可以匹配任何一款平台. 在Machine中已经知道,snd_soc_dai_link结构就指明 ...
-
java中获取所有的请求参数
//获取所有的请求参数 Enumeration<String> paraNames=request.getParameterNames(); for(Enumeration<Stri ...
-
css垂直居中方法
CSS垂直居中的简便方法:{position:absolute;left:0;bottom:0;top:0;right:0;margin:auto;}.
-
Object value iterator:值迭代器
// ES5 // 对于数组,使用标准的 for 循环,其实这种方式并不是在遍历值,而是遍历下标来指向值!ES5中增加了一些数组迭代器:forEach.every.some // forEach:遍历 ...
-
生成类似于MongoDB产生的ObjectId
package com.jt.boot.utils; import com.google.common.base.Objects; import java.net.NetworkInterface; ...