亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

請問finally關閉流時遇到Syntax error on token "finally",

請問finally關閉流時遇到Syntax error on token "finally",

千萬里不及你 2019-03-07 14:15:50
要做的例子是:一個文本文件,每一行都是0到100的整數,要查看每個數字在文件中出現的次數。我的思路是先獲取key為數字,value為次數的map,但是在方法里用finally關閉流遇到問題,可是到finally這步總報錯,下面代碼  try {     fr=new FileReader(s); } catch (FileNotFoundException e) { } br=new BufferedReader(fr); Map<Integer, Integer> map=new HashMap<Integer, Integer>(); String line=null; for(int i=0;i<100;i++)//對所有行可能的數字進行迭代 {     int num=0;     try     {         while((line=br.readLine())!=null)//按行讀緩沖區         {             if(Integer.parseInt(line)==i)             {                 num++;             }         }            }     catch(IOException e){/*處理異常*/}     map.put(i, num); } finally //此處報錯(Syntax error on token "finally", delete this token) {     try     {         if(br!=null)             br.close();//關閉流     } catch (IOException e)     {     } } 我google一下finally,說是只能跟在try或catch之后,可是要是碰到我這種狀況怎么辦呢?
查看完整描述

5 回答

?
四季花海

TA貢獻1811條經驗 獲得超5個贊

try
{
fr=new FileReader(s);
Map map=new HashMap();
String line=null;
for(int i=0;i<100;i++)//對所有行可能的數字進行迭代
{
int num=0;
while((line=br.readLine())!=null)//按行讀緩沖區
{
if(Integer.parseInt(line)==i)
{
num++;
}
}

map.put(i, num);
}

} catch (Exception e1)
{
e1.printStackTrace();
}finally
{
try
{
if(br!=null)
br.close();//關閉流
} catch (IOException e)
{
}
}


查看完整回答
反對 回復 2019-04-26
?
慕婉清6462132

TA貢獻1804條經驗 獲得超2個贊

finally 塊必須與 try 或 try/catch 塊配合使用。你想要關閉流就要在for循環中的catch代碼塊之后將這個finally代碼塊復制過去


查看完整回答
反對 回復 2019-04-26
?
MM們

TA貢獻1886條經驗 獲得超2個贊

你這是編譯錯誤啊,finally的語法是這樣的:

try{

} catch (Exception e){

} finally {

}


查看完整回答
反對 回復 2019-04-26
?
慕尼黑5688855

TA貢獻1848條經驗 獲得超2個贊

語法錯誤 改成如下即可
[code="java"]
try
{
fr=new FileReader(s);
br=new BufferedReader(fr);
Map map=new HashMap();
String line=null;
for(int i=0;i<100;i++)//對所有行可能的數字進行迭代
{
int num=0;
try
{
while((line=br.readLine())!=null)//按行讀緩沖區
{
if(Integer.parseInt(line)==i)
{
num++;
}
}

}
catch(IOException e){/*處理異常*/}
map.put(i, num);
}

} catch (FileNotFoundException e)
{
}

finally //此處報錯(Syntax error on token "finally", delete this token)
{
try
{
if(br!=null)
br.close();//關閉流
} catch (IOException e)
{
}
}


查看完整回答
反對 回復 2019-04-26
  • 5 回答
  • 0 關注
  • 996 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號