2013-10-06 3 views
-1

Я в настоящее время вводный курс программирования Java и я устанавливал следующее упражнение:Подсчет символов строки и чем поместить значение внутри для цикла

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

Ниже приведен код, который я написал в настоящее время. Класс starLineExercise имеет метод starLine, который я начал писать ниже. Метод starLine должен печатать столько «*», сколько символов в каждой из предыдущих команд System.out.println.

Я попытался создать строковый объект для каждого вопроса, затем сделайте подсчет этого и поместите его в цикл for, но Eclipse дает мне ошибку, говоря, что переменная count не может быть разрешена.

import java.util.Scanner ; 
public class starLineExercise{ 
public static void main(String[] args){ 
    Scanner sc = new Scanner (System.in); 
    System.out.println ("Please enter your name"); 
    starLine(); 
    String name = sc.nextLine(); 
    starLine(); 
    System.out.println("Pleae enter your age"); 
    starLine(); 
    int age = sc.nextInt(); 
    System.out.println("Your name is " + name + " and your age is " + age); 

} 

public static void starLine(){ 
    for (int i = 0; i < 20; i++); 
     System.out.println("*"); 
} 
System.out.println(""); 
} 
} 
+1

Пожалуйста, отправьте код, указывающий проблему. –

+1

Приведенный выше код не пытается подсчитать длину строки. Покажите нам, как вы пытаетесь узнать длину строки. –

ответ

1

Вы должны изменить несколько вещей в вашем коде:

  1. Сохранить Ваш вопрос в String перед печатью.
  2. Измените свой метод starLine(), чтобы принять параметр, в котором вы можете передать длину вашего String.
  3. Чтобы изменить этот параметр, используйте 20 в вашем starLine() методе.
+0

Большое спасибо, это мне очень помогло! Большое спасибо! –

+0

@ReeceAkhtar: Добро пожаловать. Если вы чувствуете, что это ответили на ваш вопрос, не забудьте принять его, отметив его как правильный. Если вы не примете никаких ответов, люди будут менее склонны отвечать на ваши вопросы в будущем. – Keppil

+0

Спасибо за отзыв! –

1

Создайте способ, который может как распечатать вопрос, так и начать.

public void printFormattedQuestion(String question); 
    System.out.println(question); 
    for(int i=0;i<question.length();i++) { 
     System.out.print("*"); 
    } 
    System.out.println(); 
} 

Так в основном вы используете length() метод, который предоставляется объектом типа String, это вернет количество символов в этом вопросе, так что вы можете использовать его в течение цикла, чтобы напечатать как можно больше звезд, как в этом вопросе есть символы.

Смежные вопросы