import javax.swing.JOptionPane;
import java.util.Date;
public class Lovo
{
public static void main(String[] args)
{
String a = JOptionPane.showInputDialog(null,"请输入年份");
System.out.println(a);
String b = JOptionPane.showInputDialog(null,"请输入月份");
System.out.println(b);
String c = JOptionPane.showInputDialog(null,"请输入几号");
System.out.println(c);
 b=Integer.parseInt(year);

JOptionPane.showConfirmDialog(null,"确认你的输入");
}
}我想让b为整型而且变量名改为year
b=Integer.parseInt(year);报错
请问怎么改!!

解决方案 »

  1.   

    你这个year是什么东西,局部变量要先申明和付值
      

  2.   

    Integer.parseInt()返回的是一个int型,你将它赋给字符串型肯定报错啊。
    你可以这么来做。
    b = String.valueOf(Integer.parseInt(year)); 
      

  3.   

    b为整型而且变量名改为year ?????
    year=String.valueOf(Integer.parseInt(b)); 
    将输入的值b改为String的year
      

  4.   

    import javax.swing.JOptionPane; 
    import java.util.Date; 
    public class Lovo 

    public static void main(String[] args) 

    String a = JOptionPane.showInputDialog(null,"请输入年份"); 
    System.out.println(a); 
    String b = JOptionPane.showInputDialog(null,"请输入月份"); 
    System.out.println(b); 
    String c = JOptionPane.showInputDialog(null,"请输入几号"); 
    System.out.println(c); //我想让b为整型而且变量名改为year 
    int year = Integer.parseInt(b);
    System.out.println(year);JOptionPane.showConfirmDialog(null,"确认你的输入"); 

    } 真不知道你为什么让b变为year,不过你这要求还是满足你了!呵呵
      

  5.   

    因为楼主的a才是返回一个year值,
    所以应该:
    int year=Integer.parseInt(a); 
    System.out.println(year); 
      

  6.   

    楼主是想要将String b中的值转化成整型吧!
    int year = Integer.parseInt(b);
    就ok了
    注意b表示的值不要超过int的数值范围好像是即:2的31次方-1
    不然int接收不了。。会出异常
      

  7.   

    楼上的意见都不错,我觉得你还是在取得year之前,做一个验证,这样可以避免在Integer.parseInt(year)时出现异常,如果要追求效率的话,建议使用正则表达式.