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