从命令行参数中得到一个字符串,统计字符串中a出现的次数
import java.util.Scanner;
public class test7_1 {
public static void main(String[] args) {
int count=0;
Scanner in=new Scanner(System.in);
System.out.print("请输入子字符串:");
String s1=in.next();
for(int i = 0;i < s1.length();i++){
if (s1.charAt(i) == 'a'){
count++;
}
}
System.out.println("字符串中a出现"+count+"次");
}
}
从键盘输入若干行文字,最后输入的一行为”end”时 ,代表结束标记。
1、统计该段文字中英文字母的个数。
2、将其中的所有 the 全部改为 a ,输出结果。
3、 将该文字段所有的数字串找出来并输出。
import java.util.Scanner;
public class test7_2 {
public static void main(String[] args) {
Scanner in=new Scanner(System.in);
System.out.println("请输入字符串:");
String str=in.next();
int count=0;//用于计算字符串中的英文字母和数字个数
StringBuffer s1=new StringBuffer();//用于存放the变为a的字符串,StringBuffer有append()
StringBuffer s2=new StringBuffer();//用于存放数字串
while(!str.equals("end"))//结束
{
for(int i=0;i<str.length();i++)
{
char ch=str.charAt(i);
if((ch>='a'&&ch<='z')||(ch>='A'&&ch<='Z'))//统计英文字母个数
count++;
}
s1.append(str.replace("the", "a")+"\n");//String类中replace(ch1,ch2)方法是指用ch2替代ch1
for(int j=0;j<str.length();j++)
{
char ch=str.charAt(j);
if(ch>='0'&&ch<='9')
s2.append(ch);
}
str=in.next();//逐行扫描
}
System.out.println("字母个数为:"+count);
System.out.println();
System.out.println("替换后的字符串为:\n"+s1.toString());
System.out.println("该字符串中的数字串为:"+s2.toString());
System.out.println();
}
}
分别用字符数组和字符串存储一个英文句子
“Java is an Object Oriented programming language”
分离出其中的单词并输出,计算这些单词的平均字母数。
public class test7_4 {
public static void main(String[] args) {
String str = "Java is an Object Oriented programming language";
String[] str2 = str.split(" "); //以空格为分隔符分离字符串
double count = 0;
for(int i = 0; i < str2.length; i ++) {
System.out.println(str2[i]); //逐个输出
count += str2[i].length();
}
System.out.println("平均长度为:");
System.out.println(count / str2.length);
}
}
利用随机函数产生 20 个 10 ~ 90 之间的不重复整数
将这些数拼接在一个字符串中,用逗号隔开
每产生一个新数,要保证在该串中不存在
最后将串中的整数分离存放到一个数组中
将数组的内容按由小到大的顺序输出
import java.util.Random;
public class test7_5 {
public static void main(String[] args) {
{
int[] a=new int[20];//整型数组
String str="";//存放抽到的随机数
for(int i=1;i<=20;)
{
int num=10+(int)(Math.random()*81);//Math.random()是用于随机生成一个[0.0, 1.0)
String S=num+","; //随机数之间用逗号隔开
if(str.indexOf(S)==-1) //是否已经存在该数
{
str=str+S; //拼接字符串
i++;
}
}
String[] str1=str.split(",");//以逗号为分隔符,存入str1
//将字符串类型转为整型并输出
System.out.println("随机函数产生 20 个 10 ~ 90 之间的不重复整数为:");
for(int i=0;i<str1.length;i++) {
a[i]=Integer.parseInt(str1[i]);
System.out.print(a[i]+" ");
}
System.out.println();
java.util.Arrays.sort(a);//排序
System.out.println("数组的内容按由小到大的顺序输出为:");
for(int i=0;i<a.length;i++)
System.out.print(a[i]+" ");
}
}
}
设有中英文单词对照表,输入中文单词,显示相应英文单词;输入英文单词,显示相应中文单词
import java.util.Scanner;
public class test7_p109 {
static String search(String[][] x,String y){
for(int i=0;i<x.length;i++)
for(int j=0;j<x[0].length;j++){
if(x[i][j].equals(y))//判断
{
if(j==1)
return x[i][j-1];
else
return x[i][j+1];
}
}
return null;
}
public static void main(String[] args) {
String[][] x = {{"alive", "活着"}, {"eat", "吃"}, {"sleep", "睡觉"}, {"code", "代码"}, {"repeat", "重复"}, {"good", "好"}, {"bad", "坏"}, {"work", "工作"}};
while(true){
Scanner IN=new Scanner(System.in);
System.out.println("请输入查找内容:");
String str= IN.next();
if(search(x,str)!=null)
System.out.println(search(x,str));
if(search(x,str)==null)
System.out.println("无此单词");
}
}
}
编程统计一个字符串中某个子字符串出现的次数
package testHello;
import java.util.Scanner;
public class class7_p111 {
public static void main(String[] args) {
int count=0;
int start=0;
Scanner In=new Scanner(System.in);
System.out.println("请输入字符串:");
String S1=In.next();
System.out.println("请输入待查找的字符串:");
String str=In.next();
while(S1.indexOf(str, start)>=0)
{
count++;
start=S1.indexOf(str, start)+str.length();//更新开始位置
}
System.out.println("子串出现胡次数为:"+count);
}
}