2015-09-23 54 views
-3

嗨,我想做出一個直角三角形的形式顯示名稱的程序,但我這個節目的另一側輸出是Java程序在直角三角形中顯示名稱?

import java.util.Scanner; 
public class NameGame2 { 
    public static void main(String[]args) 
    { 
     Scanner x = new Scanner(System.in); 
     String name, name2 = ""; 
     System.out.print("What is your name : "); 
     name = x.nextLine(); 
     System.out.println(); 
     for(int i=0; i<name.length(); i++) { 
      name2 = name2 + name.charAt(i); 
      System.out.println(name2); 
     } System.out.print("\n"); 
    } 
} 

I want the output to be like this  outputof my code is 
     R         A 
     ER         AS 
    HER         ASH 
    SHER         ASHE 
    ASHER         ASHER 
+3

請發表你的努力正確的代碼? – silentprogrammer

+0

import java.util.Scanner; public class NameGame2 { public static void main(String [] args){ Scanner x = new Scanner(System.in); String name,name2 =「」; System.out.print(「你叫什麼名字:」); name = x.nextLine(); System.out.println();對於(int i = 0; i

+0

@singhakash這裏是完整的 –

回答

1

試試這個,你需要一個循環的空間,字符應該從去年index.Full代碼開始

Scanner x = new Scanner(System. in); 
System.out.print("What is your name : "); 
String name = x.nextLine(); 
System.out.println(); 
for (int i = name.length() - 1; i >= 0; i--) { 

    for (int k = 0; k <= i; k++) 
    System.out.print(" "); 

    for (int j = i; j <= name.length() - 1; j++) { 
     System.out.print(name.charAt(j)); 
    } 
    System.out.println(); 
} 

輸出

 R 
    ER 
    HER 
    SHER 
ASHER 

DEMO

1

Java的解決方案8:

import java.util.Scanner; 
import java.util.stream.IntStream; 

public class NameGame2 { 
    public static void main(String[] args) { 
     System.out.print("What is your name : "); 
     String name = new Scanner(System.in).nextLine(); 
     IntStream.rangeClosed(1, name.length()) 
      .mapToObj(pos -> String.format("%" + name.length() + "s", 
          name.substring(name.length() - pos))) 
      .forEach(System.out::println); 
    } 
}