2013-04-26 15 views
5

Come mi piace molto Programmazione e mi piace programmare nel mio tempo libero, quindi stavo cercando di creare un codice in cui l'output sarebbe simile a una x. Qualcosa come questo.problemi con loop in Java

x x 
x x 
    x 
x x 
x x 

Quindi volevo che l'utente inserisse l'altezza della "x". Questo è il codice che ho finora e non so davvero come andare avanti. Ho solo bisogno di un suggerimento o se qualcuno può dirmi dove ho sbagliato.

import java.util.Scanner;  
    public class x{ 
    public static void main(String[] args){ 
    Scanner kbd = new Scanner(System.in); 
    int height;  
    System.out.print("Enter the height of the X: ");    
    height = kbd.nextInt(); 
    for (int i = 1; i <= height; i++){       
     for (int j = 1; j <= height; j++) {        
     if(i ==j || j+i == height + 1)        
      System.out.println("x");        
     else        
      System.out.print(" "); 
     } 
    } 
    } 
} 
+0

si desidera stampare solo 1 linea di -es "x"? o qualche tavolo? –

+0

è come una tabella – akif

+4

Java è indicizzato a 0, non 1. –

risposta

5

due modifiche:

  • cambiamento System.out.println("x");-System.out.print("x"); (rimuovere ln dopo stampa)

  • dopo le due linee

    System.out.print(" "); 
    } 
    

    aggiungere

    System.out.println(); 
    
+0

"aggiungi System.out.println(); dopo la riga System.out.print (" ");" sicuramente non subito dopo, ma dopo il}, oppure ogni spazio vuoto riceverà una nuova riga –

+0

esatto, Richard. Grazie per il testa a testa! modificherò la risposta. –

0
for (int i = 0; i < height; i++){       
    for (int j = 0; j < height; j++) {        
     if(i == j || j + i == height - 1)        
      System.out.print("x");        
     else        
      System.out.print(" "); 
    } 
    System.out.println(); 
} 
0

Questo funziona per me sia per il pari e dispari l'altezza di di X:

import java.util.Scanner; 
public class x{ 
    public static void main(String[] args){ 
    Scanner kbd = new Scanner(System.in); 
    int height;  
    System.out.print("Enter the height of the X: ");    
    height = kbd.nextInt(); 
    for (int i = 0; i <= height; i++){       
     for (int j = 0; j <= height; j++) {        
     if((i ==j && i!=0) || j+i == height + 1) //needed to check for i or j !=0 
      System.out.print("x"); //this shouldn't be println    
     else        
      System.out.print(" "); 
     } 
     System.out.println(); //you needed this 
    } 
    } 
}