2011-03-06 87 views
0
segment of code: 

int x, y = 34, z = 19, w=11; 

swtich (x) { 
    case 1:  y += 4; 
     z -= w; 
     break; 
    case 2: w = (x++)*(--y); 
     break; 
    case 3: w = (--x)*(++y); 
     break; 
    case 4: y -=7; 
    case 5: z *= 2; 
     break; 
    default: w = (++x)*(++y); 
} 
System.out.println(「x = 「 + x + 「 y = 「 + y + 「 z = 「 + z + 「 w = 「 + w); 

有人可以幫我修復這個代碼嗎?創建java分段代碼

+2

我可以看到一些潛在的問題,但對於初學者,您需要告訴我們應該做些什麼,否則我們無法幫助您。例如,如果程序不應該這樣做,我認爲「潛在問題」只是問題,所以在告訴我們目標是什麼之前,我們無法幫助您。 – 2011-03-06 02:47:01

+2

這段代碼假設要做什麼? – 2011-03-06 02:44:55

回答

2

首先,你忘了把break;放在CASE 4上。那麼如果x是局部變量,你忘記了初始化它。你打算如何輸入x?

編輯:它在我的電腦上工作。

public class Main { 

    public static void main (String[] args) { 
     int x=0, y = 34, z = 19, w = 11; 

     x = Integer.parseInt(JOptionPane.showInputDialog(x)); //this is how i input x 

     switch (x) { 
      case 1: 
       y += 4; 
       z -= w; 
       break; 
      case 2: 
       w = (x++) * (--y); 
       break; 
      case 3: 
       w = (--x) * (++y); 
       break; 
      case 4: 
       y -= 7; 
       break; 
      case 5: 
       z *= 2; 
       break; 
      default: 
       w = (++x) * (++y); 
     } 
     System.out.println("x = " + x + "y = " + y + " z = " + z + " w = " + w); 
    } 
} 

非法字符:\ 8220或\ 8221:您使用Unicode的8220(又名\ u291c,0x291c「,左引號)或...通常,當您複製和粘貼代碼的形式的東西...再次鍵入的System.out.println線特別是引號(「),也許你複製粘貼,它是在不同的形式......有關錯誤的更多詳細信息,請查看this site

+0

在system.out.println我得到一個錯誤非法字符8220.我該如何解決它 – carey 2011-03-06 03:01:20

1

case 4需要break(除非你打算案例4「跌破」至case 5

1

您的代碼有智能引號字符(),它們不是普通的引號,並且不被Java語言識別。

個字符更改爲"