मुझे लगता है कि आंद्रे के जवाब सबसे संक्षिप्त एक है, लेकिन अगर आप विन्यास घर निर्माण आप अगले एक का उपयोग कर सकते हैं करना चाहते हैं (ऊँचाई/चौड़ाई परिवर्तित करने का प्रयास प्रभाव देखने के लिए):
public class House {
public static void main(String[] args) {
final int HEIGHT = 6;
final int WIDTH = 9;
for (int i = 0; i < HEIGHT * 2; i += 2) {
for (int j = 0; j < WIDTH; j++) {// check for roof
if ((i + (i % 2) + (WIDTH)/2) < j // right slope
|| (i + (i % 2) + j) < (WIDTH)/2)// left slope
{
System.out.print(" ");
} else {
if ((i/2 >= HEIGHT * 2/3) && (j >= WIDTH/2) && j < WIDTH/2 + HEIGHT/3) {// check for door
System.out.print(" ");
} else {// solid then
System.out.print("*");
}
}
}
System.out.println();
}
}
}
संपादित - जवाब टिप्पणी करने के लिए: अगले दो उदाहरण चलाने के लिए प्रयास करें और तुलना उत्पादन:
public static void main(String[] args) {
final int SIZE = 9;
for (int i = 0; i < SIZE; i++) {
for (int j = 0; j < SIZE; j++) {
System.out.print(i < j ? "+" : "-");
}
System.out.println();
}
}
और
public static void main(String[] args) {
final int SIZE = 9;
for (int i = 0; i < SIZE; i++) {
for (int j = 0; j < SIZE; j++) {
System.out.print(i < SIZE - j - 1 ? "+" : "-");
}
System.out.println();
}
}
पहले एक तुम सही ढलान दे देंगे और दूसरा एक छोड़ दिया है। यह सब अंक के ज्यामितीय गुणों से आते हैं। पहले मामले में वाई अक्ष पर की तुलना में एक्स अक्ष पर सभी बिंदुओं का बड़ा मूल्य होगा। दूसरे में x और y दोनों योग में SIZE से अधिक नहीं होंगे।
आप if()
कथन के अंदर बूलियन अभिव्यक्ति को संशोधित करने का प्रयास कर सकते हैं और देखें कि क्या होता है, लेकिन मैं आपको कागज़ का टुकड़ा पाने के लिए प्रोत्साहित करता हूं और कागज और कलम के साथ खेलने की कोशिश करता हूं और देखता हूं कि कुछ बिंदुओं के गुण क्या हैं। अगर आपको और स्पष्टीकरण की आवश्यकता है तो मुझे बताएं।
स्रोत
2013-02-27 08:58:28
आपके कोड की धारणाएं क्या हैं? क्या आप उपयोगकर्ता से ऊंचाई और घर की चौड़ाई इनपुट करने के लिए कहेंगे? या वे केवल 1 तरफ देने की जरूरत है? या पक्ष पहले से ही दिए गए हैं? – Arci
@ माइकल क्योंकि इसके लिए कई समाधान हैं ... हमें अपने प्रतिबंधों को जानें जैसे कि _for loops_ की अनुमति या अन्य –