学习玉滨的博客
写出一个程序,接受一个由字母和数字组成的字符串,和一个字符,然后输出输入字符串中含有该字符的个数。不区分大小写。
import java.util.Scanner;
public class Main{
public static void main(String[] args){
Scanner scan = new Scanner(System.in);
String line;
Scanner sc = new Scanner(System.in);
while(sc.hasNextLine()){
String str = sc.nextLine();
String word = sc.nextLine();
int count = 0;
for (int i = 0; i < str.length(); i++) {
if(str.substring(i,i+1).equalsIgnoreCase(word)){
count++;
}
}
System.out.println(count);
}
}
}
知识点一:equalsIgnore
1、使用equals( )方法比较两个字符串是否相等。它具有如下的一般形式:
boolean equals(Object str)
这里str是一个用来与调用字符串(String)对象做比较的字符串(String)对象。如果两个字符串具有相同的字符和长度,它返回true,否则返回false。这种比较是区分大小写的。
2、为了执行忽略大小写的比较,可以调用equalsIgnoreCase( )方法。当比较两个字符串时,它会认为A-Z和a-z是一样的。其一般形式如下:
boolean equalsIgnoreCase(String str)
这里,str是一个用来与调用字符串(String)对象做比较的字符串(String)对象。如果两个字符串具有相同的字符和长度,它也返回true,否则返回false。下面的例子说明了equals( )和equalsIgnoreCase( )方法:
package cn.itcast.demo;
public class EquelsDemo {
public static void main(String[] args) {
String s1 = "Hello";
String s2 = "Hello";
String s3 = "Good-bye";
String s4 = "HELLO";
System.out.println(s1 + " equals " + s2 + " -> " +s1.equals(s2));
System.out.println(s1 + " equals " + s3 + " -> " +s1.equals(s3));
System.out.println(s1 + " equals " + s4 + " -> " +s1.equals(s4));
System.out.println(s1 + " equalsIgnoreCase " + s4 + " -> " +s1.equalsIgnoreCase(s4));
}
}
知识点二:substring(int beginIndex, int endIndex)
语法
public String substring(int beginIndex, int endIndex)
第一个int为开始的索引,对应String数字中的开始位置,
第二个是截止的索引位置,对应String中的结束位置
1、取得的字符串长度为:endIndex - beginIndex;
2、从beginIndex开始取,到endIndex结束,从0开始数,其中不包括endIndex位置的字符
如:
“hamburger”.substring(4, 8) returns “urge”
“smiles”.substring(1, 5) returns “mile”
取长度大于等于3的字符串a的后三个子字符串,只需a.subString(a.length()-3, a.length());
实例
package cn.itcast.demo;
public class SubStringTest {
public static void main(String[] args) {
String str = new String("www1runoob2com");
System.out.println(str.substring(0));
System.out.println(str.substring(3));
//beginIndex -- 起始索引(包括), 索引从 0 开始。
//endIndex -- 结束索引(不包括)
System.out.println(str.substring(0, 3));
System.out.println(str.substring(0, str.length()));
}
}