1.从命令行参数中得到一个字符串,统计字符串中字母a的出现次数

程序代码:

package ex7;
import java.util.*;
public class ex7_1 {
public static void main(String[] args) {
System.out.println("请输入字符串");
Scanner s1=new Scanner(System.in);
String str=s1.next();
System.out.println("请输入要查询的字母");
Scanner s2=new Scanner(System.in);
char ch=s2.next().charAt(0);
int count=0;
for(int i=0;i<str.length();i++)
if(ch==str.charAt(i))
count++;
System.out.println(ch+"字母出现次数:"+count);
}
}

2.从键盘输入若干行文字,最后输入的一行以end作为结束标记。要求:

(1)统计该段文字中英文字母的个数

(2)将其中的所有单词the全部改为a,输出结果

(3)将该段文字所有的数字串找出来输出

程序代码:

package ex7;
import java.util.*;
public class ex7_2 {
public static void main(String[] args){
String str;
String s="";
int c=0;
Scanner in=new Scanner(System.in);
do{
str=in.nextLine();
s=s.concat(str);
}while(!str.endsWith("end"));
System.out.println("您输入的字符串为:"+s);
for(int i=0;i<s.length();i++){
if((s.charAt(i)>=65&&s.charAt(i)<=90)||(s.charAt(i)>=97&&s.charAt(i)<=122)){
c++;
}
}System.out.println("英文字母的个数为"+c);

System.out.println("替换之后的字符串:"+s.replaceAll("the", "a"));
System.out.print("数字串为:");
for(int i=0;i<s.length();i++){
if(s.charAt(i)>=48&&s.charAt(i)<57){
System.out.print(s.charAt(i));
}
}
}
}

//大写65-90 小写97-122 数字48-57

4.分别用字符数组和字符串存储一个英文句子”java is an object oriented programming language”,分理处其中的单词兵输出,计算这些单词的平均字母数。

程序代码:

package ex7;
public class ex7_4 {
public static void main(String[] args) {
double a=0,b=1;
String str1="Java is an Object Oriented programming language";
char[] str2= str1.toCharArray();
String[] s=str1.replaceAll(" ", ",").split(",");
for(int i=0;i<s.length;i++)
{ if(str1.charAt(i)!=',') {
System.out.println(s[i]);
}
}
System.out.println("平均字母数:"+((double)str1.replaceAll(" ","").length())/(double)s.length);
for(int i=0;i<str2.length;i++) {
if(str2[i]!=' '){
a++;
System.out.print(str2[i]);
}
else
{ b++;
System.out.println();}
}System.out.println();
System.out.println("平均字母数:"+a/b);
}
}

5.利用随机函数产生20个10-90之间的不重复整数,将这些数拼接在一个字符串中,用逗号隔开,每产生一个新数,要保证在该字符串中不存在。最后将串中的整数分离存放到一个数组中,将数组内容按由小到大输出。

程序代码:

package ex7;
public class 7_5 {
public static boolean juge(int[] num,int r){
for(int i=0;i<num.length;i++){
if(num[i]==r) {
return false;
}
}
return true;
}
public static int[] trans(String str){
int[] a=new int[20];
int count=0;
String st="";
for(int i=0;i<str.length();i++){
if(str.charAt(i)!=','&&str.charAt(i)!=' '){
st+=str.charAt(i);
}else{
a[count]=Integer.parseInt(st);
count++;
st="";
}
}return a;
}
public static void main(String[] args) {
int[] num=new int[20];
String str="";
int r=0;
int[] s;
for(int i=0;i<num.length;i++){
r=(int)(Math.random()*80)+10;
if(Rand.juge(num,r)){
num[i]=r;
if(i!=19){
str=str+r+",";
}else{
str=str+r+" ";
}
}
else {
i--;
}
}
System.out.println("字符串:"+str);
s=Rand.trans(str);
System.out.println("未排序前的整型数组");
for(int i=0;i<num.length;i++){
System.out.print(s[i]+" ");
}System.out.println();
int k;
for(int i=0;i<num.length;i++){
for(int j=0;j<i;j++){
if(s[i]<s[j]) {
k=s[i];
s[i]=s[j];
s[j]=k;
}
}}
System.out.println("排序后的数组:");
for(int i=0;i<num.length;i++){
System.out.print(s[i]+" ");
}
}
}