/ / जावा - लूप आउटपुट इश्यू के लिए - जावा, फॉर-लूप

जावा - लूप आउटपुट इश्यू के लिए - जावा, फॉर-लूप

मैं एक असाइनमेंट के लिए एक कोड लिख रहा हूँ जिसे इस आउटपुट की आवश्यकता है:

A1  B2  C3  D4  E5  F6  G7  H8  I9  J10  K11  L12

यह है कि मैंने छोरों के लिए नेस्टेड का उपयोग करके लिखा है (असाइनमेंट में छोरों के उपयोग की आवश्यकता है):

public static void outputFive()
{
//Output 5
for(char alph = "A"; alph <= "L"; alph++)
{
for(int x = 1; x <= 12; x++)
{
System.out.print(alph + x + " ");
}

}
}

और जो मुझे प्राप्त होता है, वह सभी संख्याएं होती हैं, जो मुझे नहीं चाहिए जब मुझे रन मिलता है तो:

66 67 68 69 70 71 72 73 74 75 76 77 67 68 69 70 71 72 73 74 75 76 77 78 68 69 70 71 72 73 74 75 76 77 78 79 69 70 71 72 73 74 75 76 77 78 79 80 70 71 72 73 74 75 76 77 78 79 80 81 71 72 73 74 75 76 77 78 79 80 81 82 72 73 74 75 76 77 78 79 80 81 82 83 73 74 75 76 77 78 79 80 81 82 83 84 74 75 76 77 78 79 80 81 82 83 84 85 75 76 77 78 79 80 81 82 83 84 85 86 76 77 78 79 80 81 82 83 84 85 86 87 77 78 79 80 81 82 83 84 85 86 87 88

उत्तर:

उत्तर № 1 के लिए 1

आप इस तरह से एक काउंटर का उपयोग कर सकते हैं:

public static void main(String[] args) {
int i = 1;
for (char alph = "A"; alph <= "L"; alph++) {
System.out.print(alph + "" + i + " ");
i++;
}
}

यह आपको दिखाएगा:

A1 B2 C3 D4 E5 F6 G7 H8 I9 J10 K11 L12

क्योंकि यदि आप इस तरह से एक इंट में चार जोड़ने की कोशिश करते हैं:

System.out.println("A" + 1); वास्तव में इसका मतलब है 65 + 1 और नहीं A1


उत्तर № 2 के लिए 1
public static void main(String[] args)
{
int i=1;
for(char alph = "A"; alph <= "L"; alph++,i++)
{
System.out.print(alph);
System.out.print(i+" ");
}
}

जवाब के लिए 0 № 3

alph + x एक्स के लिए एएससीआईआई चरित्र कोड को एक्स में जोड़ने के लिए मूल्यांकन करता है।

जैसे "A" का ASCII कोड 65 है। इसलिए आपको पहले लूप पुनरावृत्ति के लिए 66-77 मिलते हैं।


जवाब के लिए 0 № 4

इसको आजमाओ;

for(int x = 1; x <= 12; x++)
{
System.out.print(alph + "" + x + " ");
}

आपके कोड का योग दिखाता है (int) alph + x.


जवाब के लिए 0 № 5

आप String.valueOf (alph) का उपयोग कर सकते हैं

System.out.print(String.valueOf(alph) + x + " ");

जवाब के लिए 0 № 6

तथ्यों

  • आप 2 छोरों का उपयोग कर रहे हैं
for(char alph = "A"; alph <= "L"; alph++) //first loop A-L = 12x
for(int x = 1; x <= 12; x++) //second loop 1-12 = 12x

इसका मतलब है कि आप अपने प्रिंट को 144 बार (12x12) लूप करें

  • आप छाप रहे हैं char

समस्याये

  • आप 144 नहीं 12 बार प्रिंट करना चाहते हैं
  • चार को एक संख्यात्मक प्रकार माना जाता है

समाधान

  • दूसरा लूप निकालें और बनाएं int x प्रारंभ मूल्य 1 के साथ
  • उपयोग String.valueOf(alph)
public static void outputFive()
{
//Output 5
int x = 1;
for(char alph = "A"; alph <= "L"; alph++)
{
System.out.print(String.valueOf(alph) + x + " ");
x++;
}
}

उत्तर के लिए 0 № 7

आप वर्णों के ASCII का भी उपयोग कर सकते हैं

public static void main(String[] args) {

int i = 1;
for (int alph = 65; alph <= 76; alph++)
{
System.out.print((char)alph + "" + i + " ");
i++;
}
}

जवाब के लिए 0 № 8

सभी समस्याओं के रूप में, एक आवश्यकताओं का विश्लेषण चरण है।

System.out.print("A1  B2  C3  D4  E5  F6  G7  H8  I9  J10  K11  L12");`

निश्चित रूप से बताए गए कार्य को संतुष्ट करता हैआवश्यकताओं। लेकिन, लूप का उपयोग करने के लिए एक गैर-कार्यात्मक आवश्यकता भी है क्योंकि डेटा में कुछ प्रकार की श्रृंखला है। डेटा में देखने के लिए कई पैटर्न हैं। मेरी राय में, कुछ वर्णमालाओं को मानना ​​और वर्णों पर अंकगणित करना खराब व्यवहार है। इसलिए, मैं एक वर्णमाला लेता हूं, जैसा कि गणित में, दिए गए अनुक्रम के रूप में:

// For convenience, use a String (of char) instead of an array of whatever
final String alphabet = "ABCDEFGHIJKL"; // assumes one char per character

समस्या तब तत्व के 1-आधारित सूचकांक के साथ अनुक्रम के तत्वों को आउटपुट करना बन जाती है।

for (int i = 0; i < alphabet.length(); i++) {
System.out.print(String.format("%c%d ", alphabet.charAt(i), (i+1)));
}