Нужна помощь в подсчете символов с использованием метода. Необходимо распечатать вхождения символа, независимо от того, JAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Нужна помощь в подсчете символов с использованием метода. Необходимо распечатать вхождения символа, независимо от того,

Сообщение Anonymous »

У меня возникли трудности с подсказкой, поскольку мой текущий код работает правильно, когда пользовательский ввод соответствует формату «строка символов» (например, «n Monday»). Однако он не может обрабатывать случаи, когда формат ввода инвертирован, например «строка, символ» (например, «Сегодня понедельник, z») или когда символ и строка указаны без запятой (например, «X, x). "). Код должен иметь возможность обрабатывать как «строку символов», так и «строку символов».
Напишите программу, входные данные которой представляют собой символ и строку, а выходные данные указывают количество раз. символ появляется в строке. Выходные данные должны включать входной символ и использовать форму множественного числа n, если количество раз, которое появляются символы, не равно 1.
Пример: Если входные данные:
в понедельник
выход:
1 n
Пример: Если входные данные:
z Сегодня понедельник
выход:
0 z
Пример: если входные данные:
n Это солнечный день
выходные данные:
2 n
Регистр имеет значение. n отличается от N.
Пример: если входные данные:
n Никто
выходные данные является:
0 n
Программа должна определить и вызвать следующий метод, который принимает входную строку и символ в качестве параметров и возвращает количество раз, когда входной символ появляется во входной строке.

Код: Выделить всё

public static int calcNumCharacters(String userString, char userChar)
Это код, который у меня есть:

Код: Выделить всё

import java.util.Scanner;

public class LabProgram {

/* Define your method here */
public static String calcNumCharacters(char userChar, String userString) {
int count = 0;

// Count occurrences of userChar
for (int i = 0; i < userString.length(); ++i) {
if (userString.charAt(i) == userChar) {
++count;
}
}

// output
String output = count + " " + userChar;
if (count != 1) {
output += "'s";
}
return output;
}

public static void main(String[] args) {
/* Type your code here. */
Scanner scnr = new Scanner (System.in);

//
char c = scnr.next().charAt(0);
String userInput = scnr.nextLine();

// condition: char and string
String result = calcNumCharacters(c, userInput);
System.out.println(result);

}
}
я пытался создать два метода

Код: Выделить всё

public static String calcNumCharacters(char userChar, String userString)
и я попробовал

Код: Выделить всё

public static String calcNumCharacters(String userString, char userChar)
и в моем основном методе я выполнил два вызова метода

Код: Выделить всё

String result = calcNumCharacters(c, userInput);
String result2 = calcNumCharacters(userInput, c);
думая, что если бы входные данные были «Сегодня понедельник», z выбрали бы второй метод CalcNumCharacter. Это ленивая попытка решить мою проблему, и я вижу, что она не работает


Подробнее здесь: https://stackoverflow.com/questions/787 ... rrences-of
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»