(1)
public class test
{
public static int get_num(String a,char key) {
int num=0;
for (int i = 0; i < a.length(); i++) {
if(a.charAt(i)==key) ++num;
}
return num;
}
public static void main(String[] args){
System.out.println(get_num(args[0],'a'));
}
}
(2)
package Test;
import java.util.ArrayList;
import java.util.Scanner;
public class test
{
public static int get_sum(ArrayList<String> al) {
//获取字母个数
int sum=0;
for(String a:al)
for (int i = 0; i < a.length(); i++)
if(Character.isLowerCase(a.charAt(i))||Character.isUpperCase(a.charAt(i)))
++sum;
return sum;
}
public static void get_dig(ArrayList<String> al) {
//找到所有的数字串并逐行
for(String a:al) {
for (int i = 0; i < a.length(); i++) {
boolean flag=false;
while(i < a.length()&&Character.isDigit(a.charAt(i)))
{
System.out.print(a.charAt(i));
flag=true;
++i;
}
if(flag) System.out.println("");
}
}
}
public static void change(ArrayList<String> al,String x,String nx) {
//将所有的the改为a
for(String a:al) {
a=a.replaceAll(x, nx);
System.out.println(a);
}
}
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
ArrayList<String>aList = new ArrayList<String>();//记得new
while(true) {
String xString=sc.next();
if(xString.equals("end")) break;
aList.add(xString);
}
System.out.println("共计:"+get_sum(aList)+"个字母");
System.out.println("其中的数字串有:");
get_dig(aList);
System.out.println("将所有the变为a的结果为:");
change(aList,"the","a");
sc.close();
}
}
(4)
package Test;
public class test
{
public static double Spilt(String s)
{
//逐行输出单词并计算平均字母数
String[]ss = s.split(" ");
int cnt=ss.length,sum=0;
for(String x:ss) {
System.out.println(x);
sum+=x.length();
}
return (double)sum/cnt;
}
public static double Spilt(char[] s)
{
//逐行输出单词并计算平均字母数
int cnt=0,sum=0;
for (int i = 0; i < s.length; i++) {
while(i<s.length&&s[i]!=' ') {
System.out.print(s[i++]);
++sum;
}
System.out.println("");
++cnt;
}
return (double)sum/cnt;
}
public static void main(String[] args){
String s = "Java is an Object Oriented programming language";
char[] c = s.toCharArray();
double aves=Spilt(s);
System.out.println("平均字母数为:"+aves);
double avec = Spilt(c);
System.out.println("平均字母数为:"+avec);
}
}
(5)
package Test;
import java.sql.Array;
import java.util.Arrays;
import java.util.HashSet;
import java.util.Random;
import java.util.Set;
public class test
{
public static int randomNum(int min, int max) {
//产生[ min , max ] 的随机数
Random random = new Random();
return random.nextInt(max-min+1) + min;//nextInt(n)生成[0,n)的随机数
}
public static void main(String[] args){
Set<Integer> hs = new HashSet<Integer> ();
while(hs.size()<20)
hs.add(randomNum(20, 80));
StringBuffer string=new StringBuffer("");
boolean flag=false;
for(Integer x:hs) {
if(flag) string.append(",");
string.append(Integer.toString(x));
flag= true;
}
System.out.println(string);
String[] ssStrings = string.toString().split(",");
Arrays.parallelSort(ssStrings);
for(String x:ssStrings)
System.out.println(x);
}
}
P111
分为子串重叠不重叠两种
package Test;
import java.util.Scanner;
public class test
{
public static int get_num(String s,String p) {
//获得p在s中出现的次数
int cnt=0;
for(int pos=0;pos<s.length();)
{
pos=s.indexOf(p, pos);
if(pos==-1) break;
++cnt;
pos+=p.length();//如果+p,length代表子串不重叠计数
// pos +=1;//如果写成加1代表子串可重叠计数
}
return cnt;
}
public static void main(String[] args){
Scanner scanner = new Scanner(System.in);
String s = scanner.next();
String p = scanner.next();
System.out.println(p+" 在 "+s+" 中出现:"+get_num(s, p)+"次");
scanner.close();
}
}
P109思考
package Test;
import java.util.HashMap;
import java.util.Scanner;
public class test
{
static HashMap<String, String>mp1= new HashMap<String, String>();//中文转英文
static HashMap<String, String>mp2= new HashMap<String, String>();//英文转中文
static{
mp1.put("好", "good");
mp2.put("good", "好");
mp1.put("坏", "bad");
mp2.put("bad", "坏");
mp1.put("工作", "work");
mp2.put("work", "工作");
}
public static void check(String s) {
if(mp1.containsKey(s)) {
System.out.println("中文转英文结果为:"+mp1.get(s));
}
else if(mp2.containsKey(s)) {
System.out.print("英文转中文结果为:"+mp2.get(s));
}
else {
System.out.println("此单词未收录");
}
}
public static void main(String[] args){
Scanner scanner = new Scanner(System.in);
String xString = scanner.next();
check(xString);
scanner.close();
}
}