Распечатать символы в массиве - PullRequest
0 голосов
/ 08 марта 2011

Предположим, что линии - это массив строк (как в приложении Backwards ниже).Напишите цикл for, который печатает в столбце длины строк в массиве, начиная с длины последней записи в массиве и заканчивая элементом массива в позиции 0.

Например,если строки состоят из этих трех строк:

Сейчас
время
для всех хороших людей

ваш код должен напечатать:

16
8
6

Как напечатать количество символов в массиве?Я пытался решить эту проблему по крайней мере 20 раз безрезультатно !!!Пожалуйста помоги!

import java.util.*;

public class Backwards {
    public static void main(String[] args) {
        String[] lines = new String[50];
        Scanner scan = new Scanner(System.in);
        int pos = 0;
        String t = " ";

        while(t.length() > 0){
            t = scan.nextLine();
            lines[pos] = t;
            pos++;
        }

        for(int j = pos  - 1; j >= 0; j--){
            lines[j] = lines[j].toUpperCase();
            System.out.println(lines[j]);
        }
    }
}

Ответы [ 4 ]

1 голос
/ 28 января 2017

Подумайте об обратном:

for(int i = lines.length-1; i>=0; i--){  //starts the loop from the last array
  System.out.println(lines[i].length()); //prints out the length of the string at that index
}
1 голос
/ 08 марта 2011

Это явно какое-то задание, поэтому я не буду писать код для вас, но дам вам достаточно подсказки, чтобы вы встали на правильный путь.

Вы можете циклически перебирать строки в массиве, печатая длину каждой из них по ходу (у вас уже есть правильная зацикливание в обратном порядке).

Метод length() объектов String должен представлять интерес; -)

0 голосов
/ 08 марта 2011
1) Define an ArrayList, say arrLines.
2) Read each line of the input, convert to string, if required using .toString();and
   a)Calculate string length: strLength = <stringName>.length()
   b)Add the length calculated in step a) to arrLines : arrLines.add(strLength);
3) Print the arrLines in reverse:
 for(int i=arrLines.size();i>0;i--)
 {
   System.out.println(" "+arrLines.get(i));
 }
0 голосов
/ 08 марта 2011

в вашем println вы должны напечатать линии [j] .length (), иначе вы распечатаете входную строку.
Кроме того, использование arrayList будет намного удобнее.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...