Форум программистов, компьютерный форум, киберфорум
Java для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.51/35: Рейтинг темы: голосов - 35, средняя оценка - 4.51
7 / 17 / 0
Регистрация: 30.09.2021
Сообщений: 232

Как из результатов метода создать массив строк?

30.09.2021, 23:26. Показов 8344. Ответов 99
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Аналогичная проблема встретилась уже второй раз. У меня в коде есть метод, который обрабатывает строки из массива строк и создаёт из них другие строки по определённым параметрам. Я не знаю, как из результатов метода(это несколько символов) создать строку, а из строки новый массив строк. Чтобы впоследствии совершать с новыми строками другие действия. Конкретно сейчас задача: ввести массив строк. Вывести строку, в которой больше всего заглавных букв. Я создала массив (вернее, список) строк с помощью ввода с консоли. Потом написала два метода. Первый обрабатывает строки массива по очереди.Создаёт строку того же размера, что и исходная, из заглавных букв. Сравнивает с исходной и выводит совпадения, т.е. заглавные буквы.Это и есть результат этого метода.Как я понимаю, это просто несколько символов. Даже не строка. Второй метод сравнивает длину новых строк с максимумом и выводит строку с максимальной длиной, т.е. строку с наибольшим количеством заглавных букв. Вроде бы всё логично, но я не знаю, как из результатов первого метода создать массив строк, чтобы перейти ко 2 методу. Я пыталась из символов в 1 методе создать массив, чтобы потом из него создать строку. Но вместо массива выводятся квадраты по количеству символов. Пожалуйста, помогите кто-нибудь. Я решаю это уже неделю.
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
import java.util.*;
import java.util.ArrayList;
import java.util.Arrays;
public class Bubble {
    public static Scanner sc = new Scanner(System.in);
     public static void main(String[] args) {
         ArrayList<String>strings=new ArrayList<String>();
    int max=0;
    String maxS="";
    char[]result=new char[5];
    for(int i=0;i<5;i++){
      String str=sc.next();
      strings.add(str);// складываем строки в массив
       ArrayList<String>strings1=new ArrayList<String>();
        String[]stringsArr=new String[strings1.size()];
    for(int j=0;j<strings1.size();j++){
        stringsArr[j]=strings1.get(j);
    }
       for(int j=0;j<5;j++){
          String str1="";
      strInMass(str,str1,result);        
      strings1.add(str1);// складываем строки в массив       
    }
       lengthS(stringsArr,max,maxS);
    }
     }
    public static void strInMass(String s,String str1,char[]result){
        int k=0;
                    String n=sc.nextLine();    
     char[]chArray=n.toCharArray();//преобразуем строку в массив
     for(int i = 0; i<chArray.length; i++){
System.out.print(chArray[i]);// выводим массив
     }
    System.out.println();
        String n1=n.toUpperCase();//преобразуем символы строки в верхний регистр
      char[]chArray1=n1.toCharArray(); //преобразуем строку,
      //преобразованную в верхний регистр в массив
    for(int i = 0; i<chArray.length; i++){  
      if(chArray[i]==chArray1[i]){//сравниваем два массива
      result[k]=chArray[i];//засовываем элементы новой строки в массив
      k++;
     System.out.print(chArray[i]+"");//выводим совпадающие элементы,
      //т.е. заглавные буквы в строке str  
      }
 str1=new String(result);//преобразуем массив символов result в строку str1
    }
     }
    public static void lengthS(String[] stringsArr,int max,String maxS){
        //сравниваем длины всех строк в массиве strings1
       for(int j=0;j<stringsArr.length;j++){//пробегаем по массиву     
         if(stringsArr[j].length()==max){//сравниваем длину каждой строки с максимумом
             max=stringsArr[j].length();//находим наибольшее количество заглавных букв среди строк
                   maxS=stringsArr[j];//находим строку с наибольшим количеством заглавных букв
         }  
       }
          System.out.println(maxS);     
}
     }
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
30.09.2021, 23:26
Ответы с готовыми решениями:

Как проверка результатов метода Ньютона программы с настройкой «Поиск решения»
Как проверка результатов программы с помощью MS Excel, корни найти с помощью настройки «Поиск решения». Мне был дан метод Ньютона X^3+X^2+1...

Как создать Массив строк?
вот уж с чем никогда проблем не было.. но не получается создать массив строк. программа должна: 1 создавать массив строк. 2...

Как создать массив строк
как сделать массив строк mas, если n=10^6 Добавлено через 8 часов 25 минут up!

99
7 / 17 / 0
Регистрация: 30.09.2021
Сообщений: 232
03.10.2021, 15:59  [ТС]
Студворк — интернет-сервис помощи студентам
Catstail, т.е. код Вы не читали, но не одобряете?
Я ещё не знаю, что значит "отформатировать код по-человечески". Кроме того, считаю, что главное не форма, а содержание Комменты же я пишу для себя, чтобы понимать технологию процесса. Я инженер по одному из образований.
Задачу я решила. А Вы Вашим способом не решите

Добавлено через 6 минут
Aviz__, за комплимент спасибо Я уже год на пенсии, времени теперь много, а учиться я люблю.
Я понимаю, что Вы хотели сказать, что у меня мало опыта. Это правда.
Кстати, вторую аналогичную задачу, благодаря Вашей помощи, я тоже решила. "Ввести серию строк с консоли. "Стереть" из них дубликаты. Вывести самую длинную из вновь образованных строк". И третью решу завтра. Спасибо за помощь.
0
 Аватар для Aviz__
2762 / 2069 / 510
Регистрация: 17.02.2014
Сообщений: 9,507
03.10.2021, 16:47
Цитата Сообщение от Sollita Посмотреть сообщение
за комплимент спасибо
да, пожалуйста. мы тут все тыкаем, не потому, что хамы бескультурные, а потому, что так проще и быстрее передать смысл (на вежливые окончания требуется доп время). опыт - это дело наживное, особенно тут, решая задачки для нерадивых студиоусов.
0
7 / 17 / 0
Регистрация: 30.09.2021
Сообщений: 232
03.10.2021, 16:51  [ТС]
Aviz__, я понимаю
0
 Аватар для Aviz__
2762 / 2069 / 510
Регистрация: 17.02.2014
Сообщений: 9,507
03.10.2021, 16:55
Цитата Сообщение от Sollita Посмотреть сообщение
я понимаю
это супер давай, набирай опыт. думаю, те будет тяжко с ооп.
0
7 / 17 / 0
Регистрация: 30.09.2021
Сообщений: 232
03.10.2021, 16:59  [ТС]
Aviz__, не думаю, что тяжелее, чем термех, аналитическая химия или историческая грамматика. Просто нужно время.
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38228 / 21160 / 4314
Регистрация: 12.02.2012
Сообщений: 34,774
Записей в блоге: 14
03.10.2021, 21:22
Sollita, дай точную формулировку задачи - посмотрим, решу я или нет.
0
7 / 17 / 0
Регистрация: 30.09.2021
Сообщений: 232
03.10.2021, 21:37  [ТС]
Catstail,
"Ввести с консоли серию из 25 строк. Вывести строку, в которой больше всего заглавных букв."
Не забудьте, Вам нужно не просто решить эту задачу, но и использовать при этом тот кусок, что Вы предлагали мне
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38228 / 21160 / 4314
Регистрация: 12.02.2012
Сообщений: 34,774
Записей в блоге: 14
03.10.2021, 22:08
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
/******************************************************************************
 Ввести с консоли серию из 25 строк. Вывести строку, в которой больше всего 
 заглавных букв
*******************************************************************************/
 
import java.util.Scanner;
 
public class Main
{
    public static int countCap(String s)  // Подсчет числа заглавных букв в строке
    {
        int i,c=0;
        char a;
        
        for (i=0; i<s.length(); i++)
        {
            a=s.charAt(i);
            if ((a>='A' && a<='Z') || (a>='А' && a<='Я')) c++;
        }    
        return c;
    }
    
    public static void main(String[] args) 
    {
        int i,max=0,j,k=0;
        String [] buf = new String[25];
        Scanner inp = new Scanner(System.in);
        
        for (i=0; i<25; i++) buf[i]=inp.next();  // читаем строки и сохраняем в массиве... 
        
            // Поиск строки с максимальным к-вом заглавных букв
 
        for (i=0; i<25; i++)
        {
            j=countCap(buf[i]);  
            if (j>max)
            {
                max=j;
                k=i;
            }
        }
        
            // Вывод результата
 
        System.out.println("Строка с максимальным к-вом заглавных букв:");
        System.out.println(buf[k]);
 
    }
}
И что?

Добавлено через 7 минут
Sollita, добрый совет: не стоит ссылаться на такие вещи как образование и прочие достижения. Мы же под никами, сказать-то можно что угодно. Не проверишь. Здесь принято спорить аргументами.

Честно говоря, я (и, как оказалось - не только я) принял Вас за студентку. А для дипломированного инженера Ваша манера выражать свои мысли, уж извините... странновата. Впрочем, приношу извинения.
0
7 / 17 / 0
Регистрация: 30.09.2021
Сообщений: 232
03.10.2021, 23:17  [ТС]
Catstail, так в каком месте Вы использовали то, что предложили использовать мне?
Java
1
2
3
 String[] arrS = {"AAA", "BBB", "CCC"};
        List<String> lst = new ArrayList<String>();
        lst = Arrays.asList(arrS);
А на своё образование и достижения я вообще-то и не ссылалась. Я сразу написала, что учу Яву с нуля. Потому что когда я училась в вузе, информатики как учебного предмета не существовало. А вот мышление у меня инженерное, я должна понимать технологию процесса.
Ваш код я проверю завтра на компьютере, сейчас я в планшете.
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38228 / 21160 / 4314
Регистрация: 12.02.2012
Сообщений: 34,774
Записей в блоге: 14
03.10.2021, 23:28
Sollita, я Вам прежде всего предложил сохранять данные в обычный массив (если известно количество строк). У меня это место помечено. Если не известно количество строк - тогда в ArrayList. Могу легко переписать свой код под ArrayList. Зря спорите... Ошибки надо уметь признавать.

Цитата Сообщение от Sollita Посмотреть сообщение
А вот мышление у меня инженерное, я должна понимать технологию процесса.
- не очень похоже. Инженер формулирует мысли четко.

Цитата Сообщение от Sollita Посмотреть сообщение
Ваш код я проверю завтра на компьютере, сейчас я в планшете.
- я не выкладываю непроверенных кодов. Вот этот код в онлайн-компиляторе: https://onlinegdb.com/dRqtdLFR2 Можете убедиться в его работоспособности даже на планшете.
0
 Аватар для Aviz__
2762 / 2069 / 510
Регистрация: 17.02.2014
Сообщений: 9,507
04.10.2021, 08:37
Цитата Сообщение от Sollita Посмотреть сообщение
мышление у меня инженерное
нет, оно женское)). задача выеденного яйца не стоит, а вы так возбудились, оба...
ТС так убеждена в своей правоте и способностях к обучению, что не хочет видеть реальности. очевидно, что ее жизненный опыт говорит, что так правильно. и в ее реальности, так и есть)).
1
7 / 17 / 0
Регистрация: 30.09.2021
Сообщений: 232
04.10.2021, 11:05  [ТС]
Catstail, проверила для 5 строк. Вы всё-таки выложили непроверенный код Вы уверены, что Ваш код выдаёт правильное решение?
Вот что он выдал:
run:
GHYU
dRfgtYUI
dfgRT
YUgh
TYbOI

Строка с максимальным к-вом заглавных букв:
GHYU

А если бы Вы прочитали таки мой код, то такой ошибки не сделали бы.

Но самое главное, что Вы не выполнили основное условие - использовать тот кусок, который Вы предложили использовать мне. И не сможете выполнить, потому что тот Ваш совет не имеет никакого отношения ни к моему вопросу, ни к решаемой задаче. Ошибки надо уметь признавать

Добавлено через 9 минут
Aviz__, дело не в задаче, а в том, что человек, не прочитав вопроса и кода, даёт бессмысленные советы, чем мешает учиться. И это абсолютно правильно в любой реальности, даже в Вашей
Женская логика от мужской отличается тем, что мужчина видит только конкретный вопрос, а женщина не только сам вопрос, но и всю вселенную вокруг него. Поэтому большинство женщин ошибаются гораздо реже, чем большинство мужчин. Доказательством этого является хотя бы продолжительность жизни женщин и мужчин
Мужская солидарность - это неплохо, но как же справедливость?
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38228 / 21160 / 4314
Регистрация: 12.02.2012
Сообщений: 34,774
Записей в блоге: 14
04.10.2021, 11:54
Sollita, код именно это и выдает https://onlinegdb.com/PEE70wbpM Не знаю, как вы проверяли...
0
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
04.10.2021, 11:57
Цитата Сообщение от Sollita Посмотреть сообщение
Но самое главное, что Вы не выполнили основное условие - использовать тот кусок, который Вы предложили использовать мне. И не сможете выполнить, потому что тот Ваш совет не имеет никакого отношения ни к моему вопросу, ни к решаемой задаче. Ошибки надо уметь признавать
надо задание формулировать по-человечески, а не ребусы составлять. Впрочем, уже не один раз это выше сказали. Но, видимо, чтобы увидеть всю вселенную вокруг, одного раза недостаточно.
Цитата Сообщение от Sollita Посмотреть сообщение
Доказательством этого является хотя бы продолжительность жизни женщин и мужчин
в очередной демонстрируется полное отсутствие логики
1
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38228 / 21160 / 4314
Регистрация: 12.02.2012
Сообщений: 34,774
Записей в блоге: 14
04.10.2021, 11:57
Цитата Сообщение от Sollita Посмотреть сообщение
Женская логика от мужской отличается тем, что мужчина видит только конкретный вопрос, а женщина не только сам вопрос, но и всю вселенную вокруг него.
- Но ошибки свои женщины не признают никогда.

Вот код, который заносит строки в массив:

Java
1
for (i=0; i<4; i++) buf[i]=inp.next();
0
04.10.2021, 13:06

Не по теме:

Цитата Сообщение от Sollita Посмотреть сообщение
а женщина не только сам вопрос, но и всю вселенную вокруг него.
ну, а сам вопрос тонет в этой вселенной)).
Цитата Сообщение от Sollita Посмотреть сообщение
большинство женщин ошибаются гораздо реже
нет, они реже признают ошибки, почти никогда! у меня есть своя гипотеза, в связи с этим, что в женских колониях (был у меня один знакомый инспектор колоний) царит ад, т.к. они все не виноваты.

0
7 / 17 / 0
Регистрация: 30.09.2021
Сообщений: 232
04.10.2021, 14:57  [ТС]
Catstail, юморист Именно это Ваш код и выдаёт, а должен выдавать в данном случае три максимума, а не один.
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38228 / 21160 / 4314
Регистрация: 12.02.2012
Сообщений: 34,774
Записей в блоге: 14
04.10.2021, 15:04
Не надо... В формулировке написано "Вывести СТРОКУ" Число единственное.

Добавлено через 23 секунды
Зря виляете...
0
7 / 17 / 0
Регистрация: 30.09.2021
Сообщений: 232
04.10.2021, 15:30  [ТС]
xoraxax, что интересно, никто из вас так и не подсказал мне, как именно я должна была сформулировать свой вопрос, чтобы вы его поняли? Может быть, Вы подскажете?
Цитата Сообщение от Sollita Посмотреть сообщение
Доказательством этого является хотя бы продолжительность жизни женщин и мужчин
в очередной демонстрируется полное отсутствие логики
Если Вы не видите логики, это не значит, что её нет
Как думаете, почему средняя продолжительность жизни у женщин намного больше, чем у мужчин?
Правильно, потому что очень многие мужчины либо гибнут в авариях и происшествиях в раннем возрасте, либо умирают от болезней, которые зарабатывают из-за курения, употребления алкоголя и прочего. А женщины нет. И то, и другое происходит именно потому, что женская логика позволяет осознать все последствия того или иного поступка и не совершать непоправимых вещей. А мужская не позволяет

Добавлено через 2 минуты
Catstail, виляете Вы. Если введены несколько строк с одинаковым количеством заглавных букв, то почему Ваша программа вывела одну?

Добавлено через 3 минуты
Catstail, и зачем мне код, который заносит строки в массив? Я об этом спрашивала?

Добавлено через 10 минут
Aviz__, женские колонии - это место, где собраны женщины с мужской логикой
Женщины с женской логикой туда не попадают.
А вот соотношение женских и мужских колоний очень показательно с точки зрения того, какая логика результативнее.
ну, а сам вопрос тонет в этой вселенной))
Ничего подобного. Например, в нашем случае господин своими ответами не помогает, а сбивает с толку. И главное именно это.
0
 Аватар для Aviz__
2762 / 2069 / 510
Регистрация: 17.02.2014
Сообщений: 9,507
04.10.2021, 15:34
Sollita, самой отбрехиваться еще не надоело? прям начинаю жалеть, что помог...
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
04.10.2021, 15:34

History. Как создать массив строк, как его заполнить, и как производить перебор элементов
Добрый день, мне нужно реализовать некое подобие хистори. Поясню: есть некое окно, в котором вводится сообщение и при его отправки, тобишь...

Как создать двумерный массив строк
Добрый день. Я хочу сделать двумерный массив строк, создаю его, но при выводе нужно перегрузить оператор вывода(&lt;&lt;), как его...

Как создать динамический массив строк?
Делаю лабораторную и пока только разбираюсь, как создать динамический массив строк Написал вот это, но при печати строки появляется...

Как создать массив строк, считанных из файла?
Необходимо создать массив из строк, которые находятся в файле. После того, как мы загоним каждую строку в отдельную ячейку массива, нужно...

Как создать массив строк типа String^?
Как создать массив строк типа String^ ?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
60
Ответ Создать тему
Новые блоги и статьи
Генератор паролей (вариант №1)
Maks 29.10.2026
Реализация из решения ниже выполнена исключительно по моей инициативе. Самым главным критерием для меня было создание паролей, в котором отсутствуют знаки: | 1 l I Обработка содержит следующие. . .
Установка ChatGPT (Codex) на Windows без использования Microsoft Store
Fabien159 28.10.2026
Здравствуйте всем читающим! Опишу процесс установки ChatGPT (Codex) на Windows, если по каким-то причинам у вас не получается устанавить его через Microsoft Store. И так: 1. Скачиваем с. . .
Программное добавление префикса в нумерацию документов
Maks 27.10.2026
Реализация из решения ниже выполнена в самописной конфигурации на БСП (помощь начинающему коллеге). Задача: Программно добавить префикс в нумерацию документов. Решение: В модуле объекта. . .
После закрытия оутлука продолжает висеть процесс в диспетчере задач
Maks 27.10.2026
С недавнего времени в продакшене возникла проблема: при закрытии оутлука в диспетчере задач продолжал висеть процесс outlook. exe. Проблема возникла после установки MS Office 2021 LTSC на машинах, под. . .
Baragoz - DPS/HPS бот для WoW 3.3.5a, многоязычный
AmbA 26.10.2026
Хотите ещё ботов? У меня есть один! А я пока отдохну от него. https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=12062&stc=1&d=1793007952 Инструкция внутри. https:/ / youtu. be/ VpfFZSUDGnQ. . .
Особенности gif сгенерированных в Си
russiannick 21.10.2026
Рассмотрим генерацию gif файлов, которые в Си имеют свои особенности. Gif представляет собой графический формат популярный в интернете. Посмотрим на палитру. Gif файл сгенерированный в си отличается. . .
FPS контроллер с анимированными Y-Bot и 3D-звуком miniaudio (Box3D, Recast, BehaviorTree.CPP, ozz-animation, ImGui, OpenGL и SDL3)
8Observer8 18.10.2026
Содержание блога | English Version Полное мультиплатформенное руководство по стартовому проекту с FPS-контроллером игрока, анимированными роботами Y-Bot с 4-слойным блендингом, 3D-физикой Box3D,. . .
Локальный http сервер
Argus19 17.10.2026
Локальный http сервер На работе, на двух локальных компьютерах круглосуточно работают программы опроса приборов с записью в книги Excel,которые раз в сутки записываются на сервер компании. Т. к. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru