Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/392.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为什么变量x不接受我给出的值,当传递给其他类时,变量x与中的变量相等?_Java - Fatal编程技术网

Java 为什么变量x不接受我给出的值,当传递给其他类时,变量x与中的变量相等?

Java 为什么变量x不接受我给出的值,当传递给其他类时,变量x与中的变量相等?,java,Java,x不接受我给它的值 public static void main(String[] args) { int x; int y; String name= JOptionPane.showInputDialog("enter your name:"); System.out.println("Welcome to Memory Game : " + name); String start= JOptionPane.showInputDialog

x不接受我给它的值

 public static void main(String[] args) {
    int x;
    int y;
    String name= JOptionPane.showInputDialog("enter your name:");
    System.out.println("Welcome to Memory Game :  " + name);    
    String start= JOptionPane.showInputDialog("\n Please choose an option:"
    + "\n 1.basic"
    + "\n 2.double"
    + "\n 3.trio"
    +"\n 4.battle ");
    int in = Integer.parseInt(start);       
    //y=in;
    Scanner sc = new Scanner(System.in);  
    try{
     switch(in){
        case 1:
             String put= JOptionPane.showInputDialog("\n Please choose an option:"
             +"\n 1 to play solo"
             +"\n 2 to play vs 1"
             +"\n 3 to play vs 2"
             +"\n 4 to play vs 3"
             );
             int k = Integer.parseInt(start);  
             x=k; 
             Frameform f = new Frameform(in,x);        
             f.setVisible(true);            
             break;

这是main,其中插入x以发送给项目的其余类。x的选项为1、2、3或4。

您在开始时为选项(基本、双精度等)输入
start

您需要将
put
变量指定给
k
,如下所示:

int k = Integer.parseInt(put); 
x
值确实采用了您给出的值


但你给出的值比你想象的要错误。这就是为什么您为
x

设置了错误的值,您是否打算写入
int k=Integer.parseInt(put)
而不是
intk=Integer.parseInt(开始)?o键。。。你提供了什么信息?代码的其余部分会发生什么?对于in变量,是否输入了1?你调试过你的代码吗?Java通过值传递,而不是引用。这意味着传递类似
f(x)
的变量将永远不会分配给
x
内部的
f
。相反,只传递了
x
的值/对象。是的,这就是问题所在。谢谢大家。是的,就是这样,我没有看到。非常感谢。