2015-07-10 54 views
1

給定從A到U的字符,打印字符和字母表中接下來的5個字符(空格分隔)。在與給定的大小寫相同的情況下打印字符。在如何使字符的這個功能在java中工作

public class Alphabets{ 

    public static void main(String args[]){ 

     //char c = 'p'; 
     char c = 'P'; 

     for(int i = c; i<=c+5; i++){ 
      System.out.print((char)i +" "); 
     } 
    } 
} 

一些點在你循環 - -

static void doStuff(char c){ 
    for(char i='c'; i<='c'+5;i=i+1){ 
     System.out.print(c+""); 
    } 
} 
+0

您有什麼問題?我看到一個很容易解決的問題:如果你想要一個空間,用「」替換「」。 – StephaneM

+1

同時刪除for循環中'c'附近的單引號,並打印'i'不是'c'。 – Codebender

+2

我想你想在for循環中刪除c中的引號。你也可以打印我而不是c。 –

回答

1
class Alphabets 
{ 
    public static void main(String args[]) 
    { 
     char ch; 

     for(ch = 'a' ; ch <= 'a'+4 ; ch++) 
      System.out.println(ch); 
    } 
} 
1

試試這個

for(char i='c'; i<='c'+5;i=i+1) 

焦炭I = 'C'。在這種情況下哪個不正確。現在它正在引用字符'c',無論給定的字符是什麼。 我已將其更改爲i=c

2.,如果你寫i<='c'+5則有可能發生錯誤(根據你的JVM版本) - 精密可能的損失,同時將分配的int結果(從右側)的i(在左側)。

+0

謝謝,但爲什麼我++而不是i = i + 1? – thales78

+0

在這種情況下,這兩者都是相同的東西。在這裏你可以將'i ++'作爲'i = i + 1'的簡短形式。它適用於我,你可以在你的方法'doStuff(char c)'中嘗試這種技術。 – Razib

+0

i = i + 1給我一個錯誤,所以我相信他們是不一樣的。 – thales78

2

代碼中的錯誤。在for循環中刪除單引號c,使用預增量ii++)並打印i而不是c。下面的代碼工作正常。

static void doStuff(char c){ 
    for(char i=c; i<=c+5;i++){ 
     System.out.print(i+" "); 
    } 
} 
+0

Thx這個工作得很好! thx thx thx!我寫了i = i ++我猜這是錯誤的原因,只是我++工作。我認爲我=我+ 1也應該工作?我會嘗試。 Thx又一次! – thales78

+0

我也嘗試過i = i + 1,爲什麼沒有工作。它和我的++不一樣嗎? – thales78

+0

@ thales78 i = i + 1;不適合你,因爲i + 1會產生整數數據類型值。所以你必須在外部進行類型轉換,如i =(char)(i + 1); –

0

你可以試試這個 -

static void doStuff(char c){ 

     for(int i = c; i<=c+5; i++){ 
      System.out.print((char)i +" "); 
     } 
}