2013-04-26 41 views
5

Vì tôi thực sự thích Lập trình và tôi thích lập trình trong thời gian rảnh nên tôi đã cố gắng tạo mã trong đó đầu ra sẽ trông giống như x. Một cái gì đó như thế này.gặp rắc rối với vòng lặp trong Java

x x 
x x 
    x 
x x 
x x 

Vì vậy, tôi muốn người dùng nhập chiều cao của "x". Đây là mã tôi có cho đến nay và tôi thực sự không biết làm thế nào để di chuyển trên. Tôi chỉ cần một gợi ý hoặc nếu bất cứ ai có thể cho tôi biết nơi tôi đã đi sai.

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

bạn muốn in chỉ có 1 dòng "x" -es? hoặc một số bảng? –

+0

giống như một bảng – akif

+4

Java được lập chỉ mục tại 0, không 1. –

Trả lời

5

Hai thay đổi:

  • thay đổi System.out.println("x");-System.out.print("x"); (loại bỏ ln sau khi in)

  • sau hai dòng

    System.out.print(" "); 
    } 
    

    thêm

    System.out.println(); 
    
+0

"thêm System.out.println(); sau dòng System.out.print (" ");" chắc chắn không thẳng sau, nhưng sau}, nếu không thì mỗi không gian trống sẽ nhận được một dòng mới –

+0

đúng vậy, Richard. cảm ơn cho những người đứng đầu lên! tôi sẽ chỉnh sửa câu trả lời. –

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

này làm việc cho tôi cho cả lẻ và thậm chí chiều cao của 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 
    } 
    } 
} 
Các vấn đề liên quan