16.1k views
1 vote
Write a program which takes a String input, and then prints the number of times the string "sh" appears in the String (s and h can be any case).

Hint - remember there are String methods which return a copy of the String it is called on with all letter characters changed to the same case.

Sample run

Input String:
She sells seashells on the seashore
Contains "sh" 3 times.

2 Answers

5 votes

import java.util.Scanner;

public class{

public static void main(String[ ] args){

Scanner reader = new Scanner(System.in);

System.out.println(“Input String:”);

String input = reader.nextLine();

input = input.toLowerCase();

int count = 0;

for (int i = 0; i < input.length()-1; i++){

if (input.substring(i, i+2).equals(“sh”)){

count++;

}

}

System.out.println(“Contains \”sh\” ” + count + “times.”);

}

}

User Dimitar Marinov
by
6.1k points
4 votes

import java.util.Scanner;

public class JavaApplication61 {

public static void main(String[] args) {

Scanner scan = new Scanner(System.in);

System.out.println("Input String:");

String text = scan.nextLine();

text = text.toLowerCase();

char c = ' ', prevC = ' ';

int count = 0;

for (int i = 0; i < text.length(); i++){

c = text.charAt(i);

if (c == 'h' && prevC == 's' && i >= 1){

count += 1;

}

prevC = c;

}

System.out.println("Contains \"sh\" "+count+" times.");

}

}

This works for me. Best of luck.

User Mir Entafaz Ali
by
5.6k points