所以我是编程新手。我正在使用java。现在我有一个我无法在教授java的网站上解决的任务。
这是作业
编写一个程序,返回另一个字符串中出现的字符串数。
E.g
输入:
第一个字符串:
第二串:孩子们正在玩他们的玩具,因为他们喜欢它。
输出:
3
注意:您应该只使用嵌套循环。不要使用indexOf或substring等方法。
public static void main(String[] args) {
Scanner input = new Scanner (System.in);
String a = input.nextLine();
String b = input.nextLine();
String z[] = b.split(" ");
int number=0;
for (int i =0; i<z.length; i++){
if (z[i].contains(a))number++;
}
System.out.println(number);
答案 0 :(得分:0)
我不会给你太多的代码,但这里有主要的讨论要点:
Scanner
完成 - 它可以来自STDIN或文件。String#split
会帮助您。toLowerCase()
在这里运作良好。String.split
生成String[]
,您可以使用任何标准for
循环对其进行迭代。您需要一种方法来查看字符串是否包含在另一个字符串中。 String#contains
会有所帮助 - 尽管你想要非常小心,你要问哪一方包含一个字符串。例如:
// This will print true
System.out.println("The world".toLowerCase().contains("the"));
// This will print false
System.out.println("the".contains("The world".toLowerCase()));
答案 1 :(得分:0)
试试这个:
import java.util.Scanner;
public class Occurence {
/**
* @param args
*/
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
String str1 = input.nextLine();
String str2 = input.nextLine();
int count = 0;
String word[] = str1.split(" ");
for (int i = 0; i < word.length; i++) {
if (word[i].toLowerCase().contains(str2.toLowerCase())) {
count++;
}
}
System.out.println("Occurence = " + count);
}
}