题目:
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类练习题的更多相关文章

  1. Java String类详解

    Java String类详解 Java字符串类(java.lang.String)是Java中使用最多的类,也是最为特殊的一个类,很多时候,我们对它既熟悉又陌生. 类结构: public final ...

  2. JAVA String 类

    java String类中的常用方法:public char charAt(int index)返回字符串中第index个字符:public int length()返回字符串的长度:public i ...

  3. Java String类具体解释

    Java String类具体解释 Java字符串类(java.lang.String)是Java中使用最多的类,也是最为特殊的一个类,非常多时候,我们对它既熟悉又陌生. 类结构: public fin ...

  4. Java 11 - Java String类

    Java String类 字符串广泛应用在Java编程中,在Java中字符串属于对象,Java提供了String类来创建和操作字符串. 创建字符串 创建字符串最简单的方式如下: String gree ...

  5. Java-Runoob:Java String 类

    ylbtech-Java-Runoob:Java String 类 1.返回顶部 1. Java String 类 字符串广泛应用 在Java 编程中,在 Java 中字符串属于对象,Java 提供了 ...

  6. Java String类的常用方法

    String(byte[ ] bytes):通过byte数组构造字符串对象. String(char[ ] value):通过char数组构造字符串对象. String(Sting original) ...

  7. Java学习笔记之:Java String类

    一.引言 字符串广泛应用在Java编程中,在Java中字符串属于对象,Java提供了String类来创建和操作字符串. 创建字符串最简单的方式如下: String str= "Hello w ...

  8. Java String类的比较运算

    面试题:(多选)以下返回true的有() A. "beijing" == "beijing" B. "beijing".equals(new ...

  9. Java String类和StringBuffer类的区别

    1.String与StringBuffer的区别简单地说,就是一个变量和常量的关系.StringBuffer对象的内容可以修改:而String对象一旦产生后就不可以被修改,重新赋值其实是两个对象.St ...

随机推荐

  1. iOS开发——工厂模式

    工厂模式很好用,为表诚意,我直接搞个实用的例子放这,解析一个订单的数据,并且这个订单里面可能不止一件商品的做法. 还是直接上代码,不懂的地方,再提出来. 1.在MyOrderDeals.h文件中 #i ...

  2. iOS开发——闪光灯

    还是那句很欠揍的话,没啥难度,直接上代码. // //  ViewController.m //  Demo—闪光灯 // //  Created by yyt on 16/4/21. //  Cop ...

  3. MySQL密码过期策略

    如果要设置密码永不过期的全局策略,可以这样:(注意这是默认值,配置文件中可以不声明) [mysqld] default_password_lifetime=0 禁用密码过期: ALTER USER ' ...

  4. UVa 10653 - Bombs! NO they are Mines!!

    题目大意:给你一个二维迷宫,给定入口和出口,找出最短路径. 无权图上的单源最短路,用BFS解决. #include <cstdio> #include <queue> #inc ...

  5. UVa 727 - Equation

    题目大意:给一个中缀表达式,转换成后缀表达式. 这类题一直不太会,让我想就是建一棵表达式树,然后后续遍历算了,可是建树的过程实在太麻烦了.今天才看到有中缀表达式转换成后缀表达式的算法,可以用栈进行实现 ...

  6. java系列--重载和覆盖小结

    继承中属性的隐藏和方法的覆盖      java中规定,子类用于隐藏的变量可以和父类的访问权限不同,如果访问权限被改变,则以子类的权限为准      java中允许子类的变量与父类变量的类型完全不同, ...

  7. iOS 框架 Nimbus

    Nimbus好像是用来处理 视图控制器的 解耦 参考: http://www.oschina.net/p/nimbuskit

  8. JavaWeb:EL & JSTL

    EL:全名为 Expression Language 1.语法:${sessionScope.user.sex}(从Session 的范围中,取得用户的性别), 所有的EL 都是以 ${  为起始,以 ...

  9. MyEclipse 显示行标

    方法一:在行的显示行标位置(行前),右键->Show Line numbers 方法二:Window->preferences->General->editor->tex ...

  10. PHP header( ) 禁止页面后退

    header("Cache-control:no-cache,no-store,must-revalidate"); header("Pragma:no-cache&qu ...