2016-02-07 2 views
0

создать код Java, который просит пользователя ввести слово. это слово затем выводится в таком формате: Например;Как создать код java для ввода строки одной буквы на одну букву, а затем наоборот?

word is mummy 
outputted like this: 
m 
mu 
mum 
mumm 
mummy 
mumm 
mum 
mu 
m 

Это то, что ив получил до сих пор:

import java.util.Scanner; 
public class java 
{ 
    public static void main(String[] args) 
    { 
     System.out.println("please enter a word"); 
     Scanner kb=new Scanner(System.in); 
     String word=kb.nextLine(); 
     int wordd=word.length(); 
     for(int i=1;i<=wordd;i++) 
     { 
     System.out.println(word.charAt(i)); 
     } 
    } 
} 

Мой учитель сказал, что нужно использовать метод Java подстрока(), но я не знаю, как

+3

Вы прочитали [javadocs] (https://docs.oracle.com/javase/8/docs/api/java/lang/String.html#substring-int-int-) для 'String.subString' ? – bradimus

+0

Да, это опечатка –

+0

Независимо от того, какую IDE вы используете, вам следует сообщить вам информацию о методе, когда вы наводите на него курсор (что является той же информацией из javadocs) – niceman

ответ

-1
Try this :  

public static void main(String[] args) { 
      System.out.println("please enter a word"); 
      Scanner kb=new Scanner(System.in); 
      String word=kb.nextLine(); 
      int wordd=word.length(); 

      for(int i=1;i<wordd+1;i++){ 
       System.out.println(word.substring(0,i)); 
      } 
      for(int i=wordd-1;i>=1;i--){ 
       System.out.println(word.substring(0,i)); 
      } 

      kb.close(); 

      } 
+0

все еще не понял. –

+0

Как бы я это сделал и так, и вы можете объяснить весь этот метод подстроки. –

+0

Подстрока имеет индекс начала и конечный индекс. 0 считается начальным индексом для всех массивов. Итак, что мы имеем в виду под словом .substring (0, i) - это взять подстроку «слова», которая начинается с 0-й позиции до «i-й позиции». –

1

Check это

import java.util.Scanner; 

public class Test { 
    public static void main(String[] args) { 
     System.out.println("please enter a word"); 
     Scanner kb = new Scanner(System.in); 
     String word = kb.nextLine(); 
     int wordd = word.length(); 
     for (int i = 1; i <= wordd; i++) 
     { 
      System.out.println(word.substring(0,i)); //print substring from 0 to i-1 
     } 
     for (int i = wordd-1 ; i >= 1; i--) 
     { 
      System.out.println(word.substring(0,i)); ////print substring from 0 to i-1 
     } 
    } 
} 

Когда вы выполняете подстроку есть два индекса, которые вы предоставляете. сначала начинается индекс, а второй - конечный. Здесь, если вы возьмете пример слова «мумия», когда мы говорим, что подстрока (0,1) означает начало из индекса 0 и возвращает 1-0 = 1 char, то почему его возвращение «m», то вы говорите, что подстрока (0,2) означает начало с 0 и return 2-0 = 2 char, который является «mu» и т. Д.
Всегда помните, что первый параметр начинается с начала, а второй - с конечным индексом, однако для получения возвращаемого значения используется (end-begin) индекс.
Прочтите java doc, чтобы понять различные варианты подстроки.

+0

Это работает после того, как я добавил импорт java.util.Scanner; в начале. Благодаря! :) –

+0

может кто-нибудь объяснить, что делает вторая часть кода и как это работает? java newbie here.for (int i = wordd-1; i> = 0; i--) { System.out.println (word.substring (0, i)); –

+0

Часть, в которой она указана для (int I = word-1; i> = 0; i--) –

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