В строке имеется символ «;». Подсчитать количество символов до него и после него. В java

0 голосов
69 просмотров

В строке имеется символ «;». Подсчитать количество символов до него и после него. В java


Информатика (22 баллов) | 69 просмотров
Дан 1 ответ
0 голосов

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

Спасибо за отметку "Лучший ответ" и нажатую кнопочку "Спасибо" (:

(1.4k баллов)
0

import java.util.*;
import java.lang.*;
import java.io.*;

class Laba
{
static char SEMICOLON_SYMBOL = ';';

public static void main (String[] args)
{
Scanner input; //сканер для ввода строки
String stringValue; //строка, в которой будем считать символы до и после знака ';'
int symbolsCountBeforeSemicolon;//счётчик кол-во символов до знака ';'
int symbolsCountAfterSemicolon; //счётчик кол-во символов после знака ';'
boolean isSemicolonFiend; //значение, находили ли мы уже знак ';'

0

input = new Scanner(System.in); //инициализация сканера
symbolsCountBeforeSemicolon = 0;//обнуление счётчиков
symbolsCountAfterSemicolon = 0;
isSemicolonFiend = false; //знак ';' - еще не находили (даже не искали), по этому 'false'

stringValue = input.next(); //вводим строку

0

for (char symbol : stringValue.toCharArray())//проходимся циклом по каждому её символу
{
if (SEMICOLON_SYMBOL == symbol) //является ли текущий символ знаком ';'
{
if (true == isSemicolonFiend)//если да, но мы уже находили знак ';'
{
System.out.println("Error! More than one semicolon simbol."); //выводи ошибку
System.out.println("Else semicolon symbols will be not counted.");
}

0

else
{
//если нет, то считам кол-во символов до конца строки от символа ';' и ставим пометку, что уже нашли один
symbolsCountAfterSemicolon = stringValue.length() - symbolsCountBeforeSemicolon - 1;
isSemicolonFiend = true;
}
}
else
{
//если нет, то проверяем, находили ли уже символ ';'
if (false == isSemicolonFiend)
{
++symbolsCountBeforeSemicolon;//если нет, то увеличиваем счётчик на 1
}
}
}

0

if (false == isSemicolonFiend)//проверяем, находили ли мы уже знак ';'
{
System.out.println("No semicolon symbol in input string."); //если нет, то выводим об этом сообщение
symbolsCountBeforeSemicolon = 0; //если нет, то кол-во символов в первом счётчике обнуляем, т.к. оно равно кол-ву символов длины строки
}

0

System.out.println("Total input string length is: " + stringValue.length()); //выводим длину строки
System.out.println("Symbols count before semicolon symbol is: " + symbolsCountBeforeSemicolon); //выводим кол-во символов до знака ';'
System.out.println("Symbols count after semicolon symbol is: " + symbolsCountAfterSemicolon); //выводим кол-во символов после знака ';'
}
}