import java.io.*;
import java.io.File.*;
import java.util.*;
import java.lang.Character.*;
public class consus
{
public static void main(String [] args)
{
Scanner s = new Scanner(System.in);
String str;
str = s.next();
File f = new File("D://Target.txt");
char[] target=str.toCharArray();
int target1 = target[0];
int degree = 0;
int arrange = 1;
int i = 0;
while (i != -1)
{
i = f.read();
if (i != -1)
{
System.out.print(String.valueOf(Character.toChars(i)));
}
if (i == target1)
{
degree =degree +1;
}
if (arrange == 21)
{
System.out.println("");
arrange = 1;
}
}
System.out.println("");
System.out.print("该字出现的次数为:"+degree);
}
f.close();
}
为什么这个程序在运行后报错说f.close();需要标识符?????????????????
import java.io.File.*;
import java.util.*;
import java.lang.Character.*;
public class consus
{
public static void main(String [] args)
{
Scanner s = new Scanner(System.in);
String str;
str = s.next();
File f = new File("D://Target.txt");
char[] target=str.toCharArray();
int target1 = target[0];
int degree = 0;
int arrange = 1;
int i = 0;
while (i != -1)
{
i = f.read();
if (i != -1)
{
System.out.print(String.valueOf(Character.toChars(i)));
}
if (i == target1)
{
degree =degree +1;
}
if (arrange == 21)
{
System.out.println("");
arrange = 1;
}
}
System.out.println("");
System.out.print("该字出现的次数为:"+degree);
}
f.close();
}
为什么这个程序在运行后报错说f.close();需要标识符?????????????????
package com.test;
import java.io.*;
import java.util.*;
public class consus
{
public static void main(String [] args)
{
try{
Scanner s = new Scanner(System.in);
String str;
str = s.next();
FileReader f = new FileReader(new File("D://Target.txt"));
char[] target=str.toCharArray();
int target1 = target[0];
int degree = 0;
int arrange = 1;
int i = 0;
while (i != -1)
{
i = f.read();
if (i != -1)
{
System.out.print(String.valueOf(Character.toChars(i)));
}
if (i == target1)
{
degree =degree +1;
}
if (arrange == 21)
{
System.out.println("");
arrange = 1;
}
}
System.out.println("");
System.out.print("该字出现的次数为:"+degree);
f.close();
}
catch(Exception e){
e.printStackTrace();
}
}}
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.Scanner;public class consus
{
public static void main(String[] args)
{
// TODO Auto-generated method stub
Scanner s = new Scanner(System.in);
String str;
str = s.next();
FileInputStream f = null;
try
{
f = new FileInputStream(new File("D://Target.txt"));
}
catch (FileNotFoundException e)
{
e.printStackTrace();
}
char[] target = str.toCharArray();
int target1 = target[0];
int degree = 0;
int arrange = 1;
int i = 0;
while (i != -1)
{
try
{
i = f.read();
}
catch (IOException e)
{
e.printStackTrace();
}
if (i != -1)
{
System.out.print(String.valueOf(Character.toChars(i)));
}
if (i == target1)
{
degree = degree + 1;
}
if (arrange == 21)
{
System.out.println("");
arrange = 1;
}
}
System.out.println("");
System.out.print("该字出现的次数为:" + degree);
try
{
f.close();
}
catch (IOException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
}}
你这只是new 了一个 文件。
不知道你用的什么开发工具。i = f.read();这句话能通过吗?
f没有read()和close()方法。只有像楼上那样把他包装成流
FileReader f = new FileReader(new File("D://Target.txt"));
以后才能进行读操作。和关闭流操作。。
如果我把close去掉呢?
//import java.io.File.*;
import java.util.*;
public class replace {
public static void main (String [] args)
{
try{
Scanner s = new Scanner(System.in);
String str;
str = s.next();
//String [] word = str.split("");
char word1 [] =str.toCharArray();
int word_to_replace = 0;
int word_to_be_replaced = 0;
word_to_replace = word1[0];
word_to_be_replaced = word1[2];
FileReader f = new FileReader(new File ("D://Taget.txt"));
int i = 0;
int arrange = 0;
int row = 1;
while (i != -1)
{
i = f.read();
arrange = arrange + 1;
if (arrange == 21)
{
row = row + 1;
System.out.println("");
}
if (i != word_to_be_replaced)
{
System.out.print(String.valueOf(Character.toChars(word_to_replace)));
}
else
{
System.out.print(String.valueOf(Character.toChars(i)));
}
}
f.close();
}
catch(Exception e){
e.printStackTrace();
}
}
}
为什么这个说是数组越界