2015-10-08 43 views
0

是的這是一個家庭作業問題。但是,我認爲使用堆棧交換來解決作業問題並不是一個問題。這是真正的程序員所做的,不是。讓火箭靠近彼此顯示

我有這個程序,打印兩個火箭船到控制檯。火箭是垂直堆放的。我希望他們並排出現。有沒有辦法做到這一點,而不改變我所有的靜態方法?

public class TwoRockets { 

    public static void main (String[] args) {  
     appearrocket(); 
     appearrocket();  
    } 

    public static void appearrocket() {   
     cone(); 
     box(); 
     label(); 
     box(); 
     cone(); 
    }  

    public static void box() {   
     System.out.println("+------+"); 
     System.out.println("|  |"); 
     System.out.println("|  |"); 
     System.out.println("+------+");   
    } 

    public static void cone() {   
     System.out.println(" /\\"); 
     System.out.println("/\\"); 
     System.out.println("/ \\"); 
    } 

    public static void label() {    
     System.out.println("| VIVA |"); 
     System.out.println("|MEXICO|"); 
    } 
} 
+1

不需要。您將不得不更改靜態方法。不是直接打印到System.out,而是將東西裝入內存中,以便可以重新排列成列。使用對象實例而不是靜態方法也會有所幫助(畢竟你會有兩枚火箭)。 – Thilo

回答

0

您必須修改靜態方法。 通過使用連接運算符,可以實現兩個並排的火箭。 註釋掉一個//browrocket();

package com.stackover.ex; 


public class TwoRockets { 

    public static void main (String[] args) { 

     appearrocket();  
     //appearrocket(); 

    } 



    public static void appearrocket() { 

     cone(); 
     box(); 
     label(); 
     box(); 
     cone();  
    } 



    public static void box() { 

     System.out.println("+------+\t"+"+------+"); 
     System.out.println("|  |\t"+"|  |"); 
     System.out.println("|  |\t"+"|  |"); 
     System.out.println("+------+\t"+"+------+"); 

    } 

    public static void cone() { 

     System.out.println(" /\\\t\t"+" /\\"); 
     System.out.println("/\\\t\t"+"/\\"); 
     System.out.println("/ \\\t\t"+"/ \\");  
    } 

    public static void label() { 

     System.out.println("| VIVA |\t"+"| VIVA |"); 
     System.out.println("|MEXICO|\t"+"|MEXICO|"); 
    } 
}