当前位置:  技术问答>java相关

初学java ,帮我看看错在什么地方?如何改?thx

    来源: 互联网  发布时间:2015-10-11

    本文导语:  import java.lang.*;  public class testInput  {     public static void main(String args[])     {    String s1,s2;    boolean flag=true;    InputStreamReader stdin = new InputStreamReader(System.in);//键盘输入        BufferedReader bufin = ...

import java.lang.*; 

public class testInput 

   public static void main(String args[]) 
   { 
  String s1,s2; 
  boolean flag=true; 
  InputStreamReader stdin = new InputStreamReader(System.in);//键盘输入 
      BufferedReader bufin = new BufferedReader(stdin); 
      try 
     { 
       System.out.print ("请输入第一个浮点数: "); 
   s1 = bufin.readLine(); 
   float f1=Float.parseFloat(s1); 
    System.out.print ("请输入第一个浮点数: "); 
   s2 = bufin.readLine(); 
   float f2=Float.parseFloat(s2); 
      } 
      catch (IOException E) 
      { 
        flag=false; 
         System.out.println("发生I/O错误!!!"); 
      }  
    if (flag=true) { 
  System.out.println(f1+f2); 
      } 
   } 



错误信息: 
--------------------Configuration: j2sdk1.4.0 -------------------- 
D:My DocumentsjavaworktestInput.java:27: cannot resolve symbol 
symbol  : variable f1   
location: class testInput 
  System.out.println(f1+f2); 
                                   ^ 
D:My DocumentsjavaworktestInput.java:27: cannot resolve symbol 
symbol  : variable f2   
location: class testInput 
  System.out.println(f1+f2); 
                                      ^ 
2 errors 

Process completed. 

如何改? 
谢谢

|

//如果想在两个括号里使用,必须定义在这个地方
try{
这里面的变量生存周期只在括号里面
}catch(){
这里已经过了生存周期了
}

|
两个地方,java.lang.*不用特别声明import
你要import  java.io.*;


你的f1,f2在try里定义,生命期到try结束就没了。
把f1,f2的声明拿到try外边,或把System.out.println(f1+f2);搞到try里边

|
楼上的已经说得很清楚了。

首先,任何一个java文件,都会自动包含java.lang的,如果你的程序用到了标准输入输出(System.out.println...),你只要import java.io.*就可以了。

你的程序之所以编译不过,是因为你没有弄清局部变量和全局变量。
局部变量和全局变量的生存期不同,你在try里边定义f1,f2,是定义了两个局部变量,在try完以后,f1,f2也就没了,这样在进入catch以后,f1,f2等于你没有定义。按照你这个程序实现的功能,你应该把f1,f2放在try外边,和String s1,s2一起定义成全局变量。

|
float f1=Float.parseFloat(s1); 
float f2=Float.parseFloat(s2); 
是在try{}中定义的,try{}一结束,它们的生存期也就结束了。只要把它们放在适当的地方定义就可以了,比如:
String s1,s2; 
float f1,f2;
后边写成
f1=Float.parseFloat(s1); 
f2=Float.parseFloat(s2); 

    
 
 

您可能感兴趣的文章:

  • 操作系统 iis7站长之家
  • 我初学JAVA,大家愿意交朋友的进来看看!留QQ的给分啊!
  • 初学GTK+的朋友们看看这篇文章
  • Linux 初学者的疑问 (各位老鸟进来看看)
  • linux下c语言写的shell,花了不少时间写得 有兴趣的可以看看,本人linux初学者
  • 初学者求救:gethostbyname的应用,看看看错在哪里?谢谢。。。
  • 我是JAVA的一位初学者请各位师兄师姐帮忙看看下面的代码为什么会提示出错?
  • 初学者的安装问题,各位进来看看
  • 初学JAVA,帮看看
  • 初学者。那位好心人进来看看???
  • linux c初学者求教:看看这断代码的含义
  • 初学java的朋友看看这个软件
  • 谁能帮我看看下面的代码有什么错误,我是初学者。
  • 大家看看sun的这个列表,帮帮初学者
  • 看树顶“初学者必读”的呕血补充!!!菜鸟来,高手也看看
  • 初学kernel编程遇到问题了!请帮个忙看看!!
  • 操作系统 iis7站长之家
  • 那位大哥可以帮我看看,我是哪里做错了!!(非常简单,我是初学者)
  • 我初学ubuntu 想装ftp,但是出错,请大家帮看看
  • 初学.请帮忙看看fork的子进程读管道时为何阻塞!
  • 请问:初学JAVA,需要把精力放在些什么地方?
  • 我初学java,用的是jdk1.3,但是有一点不明白?整个java程序的入口在什么地方?
  • 操作系统初学者,Linux一些不懂的地方
  • java初学者现向各位大虾请教:下面这段代码错在什么地方?(开发工具 jbuilder7).
  • 初学jsp,大家来看看是什么地方出错啦。thx
  • 我是哪个初学java的冷雪儿,由于我的帐号分数太少,所以另换了一个帐号,我现在有一段程序,有很多地方不懂,各路大虾不妨进来帮我看看,
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 初学 java 的朋友来和我交朋友,我也是初学。我的 QQ 号是 33555085
  • 初学者的问题我是linux初学者,我想问一下在windows里下载的大于1.44M文件如何转移到linux分区里?
  • 我是个初学者,希望指点明津
  • 初学者用什么工具好?JBUILDER?JDK?
  • 对于初学者应该看什么样的java书籍
  • 初学java应该看那些书?
  • 初学linux看哪本书好?
  • 初学java,该看那些书,请朋友们指教
  • 我是初学者,该用什么java的“编译器”????
  • 初学java什么书好?
  • 对于初学者应该看什么样的书
  • 初学者:不是问题的问题?
  • 初学者这样检验自己的学习效果呢?
  • 初学JAVA,用哪个软件来调试和编译程序?
  • 初学者的问题??在线等待。
  • 各位高手大家好,我是初学LINUX想请教几个问题
  • 初学者的疑问
  • 从初学Linux到内核开发
  • 初学java的话,从何入手呢?vj++,还是jbuilder?
  • linux初学者应该看什么书


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3