作业
package com.neuedu.day08;
import java.util.Random;
import java.util.Scanner;
import org.junit.Test;
1、分别在控制台输入字符串和子字符串,并计算字符串中子字符串出现的次数。
public class HomeWork {
@Test
public void myTest01() {
Scanner sc = new Scanner(System.in);
System.out.println("输入字符串");
java.lang.String s = sc.next();
System.out.println("输入子字符串");
java.lang.String s1 = sc.next();
int sum = 0;
int length = s1.length();
for (int i = 0; i < s.length() - s1.length() + 1; i++) {
String S2 = new String(null, s1);
java.lang.String s2 = s.substring(i, s1.length() + i);
if (s2.equals(s1)) {
sum++;
}
}
System.out.println(sum);
}
2、请编程实现:由键盘输入的任意一组字符,统计其中大写字母的个数m和小写字母的个数n,并输出m、n中的较大者。
@Test
public void myTest02() {
Scanner sc = new Scanner(System.in);
System.out.println("输入字符串");
java.lang.String s = sc.next();
int m = 0, n = 0;
for (int i = 0; i < s.length(); i++) {
if (s.charAt(i) >= 'A' && s.charAt(i) <= 'Z') {
m++;
}
if (s.charAt(i) >= 'a' && s.charAt(i) <= 'z') {
n++;
}
}
if (m >= n) {
System.out.println(m);
} else {
System.out.println(n);
}
}
3.有一个字符串,其中包含中文字符、英文字符和数字字符,请统计和打印出各个字符的个数。
@Test
public void myTest03() {
Scanner sc = new Scanner(System.in);
System.out.println("输入字符串");
java.lang.String s = sc.next();
int ch = 0, en = 0, no = 0;
for (int i = 0; i < s.length(); i++) {
if ((s.charAt(i) >= 'a' && s.charAt(i) <= 'z') || (s.charAt(i) >= 'A' && s.charAt(i) <= 'Z')) {
en++;
} else if ((s.charAt(i) >= '0' && s.charAt(i) <= '9')) {
no++;
} else {
ch++;
}
}
System.out.println("中文字符数" + ch);
System.out.println("英文字符数" + en);
System.out.println("数字字符数" + no);
}
4、编写一个方法为物品生成一个指定长度的编号,
要求编号的每一位或者为0到9的数字,
或者为A到Z的大写字母,每次产生的编号是随机的。
@Test
public void myTest04() {
Scanner sc = new Scanner(System.in);
System.out.println("输入指定长度");
int no = sc.nextInt();
char s[] =new char[no];
for(int i=0;i<no;i++)
{
long c= Math.round(Math.random()*500);
int sum=(int) c;
char s1=(char)sum;
s[i]=s1;
if(s[i]>='A'&&s[i]<='Z')
{
continue;
}
else if(s[i]>='0'&&s[i]<='9')
{
continue;
}
else
{
i--;
}
}
for(int i=0;i<no;i++)
{
System.out.print(s[i]);
}
}
}