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

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

30.09.2021, 23:26. Показов 7362. Ответов 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__
2741 / 2050 / 507
Регистрация: 17.02.2014
Сообщений: 9,470
03.10.2021, 16:47
Цитата Сообщение от Sollita Посмотреть сообщение
за комплимент спасибо
да, пожалуйста. мы тут все тыкаем, не потому, что хамы бескультурные, а потому, что так проще и быстрее передать смысл (на вежливые окончания требуется доп время). опыт - это дело наживное, особенно тут, решая задачки для нерадивых студиоусов.
0
7 / 17 / 0
Регистрация: 30.09.2021
Сообщений: 232
03.10.2021, 16:51  [ТС]
Aviz__, я понимаю
0
 Аватар для Aviz__
2741 / 2050 / 507
Регистрация: 17.02.2014
Сообщений: 9,470
03.10.2021, 16:55
Цитата Сообщение от Sollita Посмотреть сообщение
я понимаю
это супер давай, набирай опыт. думаю, те будет тяжко с ооп.
0
7 / 17 / 0
Регистрация: 30.09.2021
Сообщений: 232
03.10.2021, 16:59  [ТС]
Aviz__, не думаю, что тяжелее, чем термех, аналитическая химия или историческая грамматика. Просто нужно время.
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38173 / 21108 / 4307
Регистрация: 12.02.2012
Сообщений: 34,704
Записей в блоге: 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
38173 / 21108 / 4307
Регистрация: 12.02.2012
Сообщений: 34,704
Записей в блоге: 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
38173 / 21108 / 4307
Регистрация: 12.02.2012
Сообщений: 34,704
Записей в блоге: 14
03.10.2021, 23:28
Sollita, я Вам прежде всего предложил сохранять данные в обычный массив (если известно количество строк). У меня это место помечено. Если не известно количество строк - тогда в ArrayList. Могу легко переписать свой код под ArrayList. Зря спорите... Ошибки надо уметь признавать.

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

Цитата Сообщение от Sollita Посмотреть сообщение
Ваш код я проверю завтра на компьютере, сейчас я в планшете.
- я не выкладываю непроверенных кодов. Вот этот код в онлайн-компиляторе: https://onlinegdb.com/dRqtdLFR2 Можете убедиться в его работоспособности даже на планшете.
0
 Аватар для Aviz__
2741 / 2050 / 507
Регистрация: 17.02.2014
Сообщений: 9,470
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
38173 / 21108 / 4307
Регистрация: 12.02.2012
Сообщений: 34,704
Записей в блоге: 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
38173 / 21108 / 4307
Регистрация: 12.02.2012
Сообщений: 34,704
Записей в блоге: 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
38173 / 21108 / 4307
Регистрация: 12.02.2012
Сообщений: 34,704
Записей в блоге: 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__
2741 / 2050 / 507
Регистрация: 17.02.2014
Сообщений: 9,470
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
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru