2011-03-06 100 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语言识别。

个字符更改为"