问答详情
源自:1-9 经验总结

如何在main方法中调用try中的变量?

package com.thunder;

import java.util.*;

import java.io.IOException;

import java.util.Scanner;

public class Test {

private static int choice=0;


public static void main(String[] args) throws IOException {

// TODO Auto-generated method stub

System.out.println("**********欢迎使用图书查找系统**********"

+"\r"+"按照名称进行查找:1"+"\t"+"按照序号进行查找:2");

Scanner sc=new Scanner(System.in);

try{

int choice=sc.nextInt();

}catch(Exception e){ 

System.out.println("命令输入错误!请根据提示输入数字命令!");

}

if(choice==1||choice==2){

if(choice==1){

System.out.println("请输入图书名称:");

}else{

System.out.println("请输入图书序号:");

}}else{

System.out.println("您输入的数字有误!");

}

}

}

执行结果choice恒等于0,怎样能把try中输入的choice值赋给main方法中的choice呢

提问者:慕桂英9214841 2016-08-25 22:48

个回答

  • 慕粉3802999
    2016-08-25 23:40:04

    private static int choice=0;你在类中已经定义了choice这个实例变量了,当然在代码块中(int choice=sc.nextInt();)再次定义的的变量为局部变量,你只是赋值给局部变量,实例变量的值一直没有改变过,去掉(int choice=sc.nextInt();)中choice前面的int,就可以引用choice