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
8.9k 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
8.0k points
Welcome to QAmmunity.org, where you can ask questions and receive answers from other members of our community.