Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/382.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Can';找不到打印机的符号 import java.util.*; 导入java.io.*; 公开课活动{ 文件输出=新文件(“chinese.txt”); 静态ArrayList事件=新建ArrayList(); 公共静态void main(字符串[]args){ 试一试{ Scanner sc=新扫描仪(新文件(“events.txt”); 文件输出=新文件(“chinese.txt”); PrintWriter打印机=新的PrintWriter(输出); 而(sc.hasNext()){ //字符串温度=sc.nextLine(); //系统输出打印项次(温度); int num=sc.nextInt(); 字符串desc=sc.nextLine(); 添加(新事件(num,desc)); } //中断; } 捕获(例外e){ System.out.println(“无效文件”); } 集合。排序(事件); 对于(int i=0;i_Java - Fatal编程技术网

Can';找不到打印机的符号 import java.util.*; 导入java.io.*; 公开课活动{ 文件输出=新文件(“chinese.txt”); 静态ArrayList事件=新建ArrayList(); 公共静态void main(字符串[]args){ 试一试{ Scanner sc=新扫描仪(新文件(“events.txt”); 文件输出=新文件(“chinese.txt”); PrintWriter打印机=新的PrintWriter(输出); 而(sc.hasNext()){ //字符串温度=sc.nextLine(); //系统输出打印项次(温度); int num=sc.nextInt(); 字符串desc=sc.nextLine(); 添加(新事件(num,desc)); } //中断; } 捕获(例外e){ System.out.println(“无效文件”); } 集合。排序(事件); 对于(int i=0;i

Can';找不到打印机的符号 import java.util.*; 导入java.io.*; 公开课活动{ 文件输出=新文件(“chinese.txt”); 静态ArrayList事件=新建ArrayList(); 公共静态void main(字符串[]args){ 试一试{ Scanner sc=新扫描仪(新文件(“events.txt”); 文件输出=新文件(“chinese.txt”); PrintWriter打印机=新的PrintWriter(输出); 而(sc.hasNext()){ //字符串温度=sc.nextLine(); //系统输出打印项次(温度); int num=sc.nextInt(); 字符串desc=sc.nextLine(); 添加(新事件(num,desc)); } //中断; } 捕获(例外e){ System.out.println(“无效文件”); } 集合。排序(事件); 对于(int i=0;i,java,Java,您需要在try块之前声明打印机,否则打印机的作用域仅限于try块。这将修复它: import java.util.*; import java.io.*; public class Events{ File output = new File ("chinese.txt"); static ArrayList <Event> events = new ArrayList <Event>(); public static void main(S

您需要在try块之前声明打印机,否则打印机的作用域仅限于try块。这将修复它:

import java.util.*; 
import java.io.*;
public class Events{



   File output = new File ("chinese.txt");


  static ArrayList <Event> events = new ArrayList <Event>();


  public static void main(String[]args){


      try{
         Scanner sc = new Scanner(new File("events.txt"));
         File output = new File("chinese.txt");
         PrintWriter printer = new PrintWriter(output);
         while(sc.hasNext()){        
               //String temp = sc.nextLine();
            //System.out.println(temp);

            int num = sc.nextInt();
            String desc = sc.nextLine();


            events.add(new Event(num,desc));


         }

         //break;   






      }
      catch(Exception e){

         System.out.println("Invalid file");


      }

      Collections.sort(events);

      for(int i = 0; i<events.size();i++){

         System.out.println(events.get(i));
         printer.println(events.get(i).toString()); 
      } 

 `}

}'
publicstaticvoidmain(字符串[]args){
PrintWriter打印机=空;
试一试{
Scanner sc=新扫描仪(新文件(“events.txt”);
文件输出=新文件(“chinese.txt”);
打印机=新的PrintWriter(输出);
而(sc.hasNext()){
//字符串温度=sc.nextLine();
//系统输出打印项次(温度);
int num=sc.nextInt();
字符串desc=sc.nextLine();
添加(新事件(num,desc));
}
//中断;
}
捕获(例外e){
System.out.println(“无效文件”);
}
集合。排序(事件);

for(int i=0;i
打印机
在try块内声明,但您试图在try块外使用它。在try块内包含for循环,它应该可以解决您的问题

public static void main(String[]args){

  PrintWriter printer = null;
  try{
     Scanner sc = new Scanner(new File("events.txt"));
     File output = new File("chinese.txt");
     printer = new PrintWriter(output);
     while(sc.hasNext()){        
           //String temp = sc.nextLine();
        //System.out.println(temp);

        int num = sc.nextInt();
        String desc = sc.nextLine();


        events.add(new Event(num,desc));


     }

     //break;   






  }
  catch(Exception e){

     System.out.println("Invalid file");


  }

  Collections.sort(events);

  for(int i = 0; i<events.size();i++){

     System.out.println(events.get(i));
     printer.println(events.get(i).toString()); 
  } 
import java.util.*;
导入java.io.*;
公开课活动{
文件输出=新文件(“chinese.txt”);
静态ArrayList事件=新建ArrayList();
公共静态void main(字符串[]args){
试一试{
Scanner sc=新扫描仪(新文件(“events.txt”);
文件输出=新文件(“chinese.txt”);
PrintWriter打印机=新的PrintWriter(输出);
而(sc.hasNext()){
//字符串温度=sc.nextLine();
//系统输出打印项次(温度);
int num=sc.nextInt();
字符串desc=sc.nextLine();
添加(新事件(num,desc));
}
//中断;
集合。排序(事件);

对于(int i=0;iI获取一个filenotfound错误,它希望我将其放入try块事件中。java:12:error:unreported exception FileNotFoundException;必须捕获或声明为抛出PrintWriter printer=new PrintWriter(输出)谢谢谢尼斯,它可以用,但如果我可以问你另一个问题,它不会写入我的文件,所以我把“chinese.txt”改为“dog.txt”但它并没有写入我的文件,而是写入了,但我试图找到另一种方法的原因是它会重复打印我正在写入的数据,我只想打印一次。它应该打印一次,因为您没有在循环中写入。如果您在代码中看到原始文件,您将看不到其中的数据,请查看目标文件夹中的文件,然后重试您将看到它得到更新,因为JAVA修改了它自己的文件副本,而不是原始文件。它仍然不会向文件写入任何内容。如果我删除该文件并重试,我没有任何其他想法
import java.util.*; 
import java.io.*;
public class Events{



   File output = new File ("chinese.txt");


  static ArrayList <Event> events = new ArrayList <Event>();


  public static void main(String[]args){


      try{
         Scanner sc = new Scanner(new File("events.txt"));
         File output = new File("chinese.txt");
         PrintWriter printer = new PrintWriter(output);
         while(sc.hasNext()){        
               //String temp = sc.nextLine();
            //System.out.println(temp);

            int num = sc.nextInt();
            String desc = sc.nextLine();


            events.add(new Event(num,desc));


         }

         //break;   

          Collections.sort(events);

      for(int i = 0; i<events.size();i++){

         System.out.println(events.get(i));
         printer.println(events.get(i).toString()); 
      } 




      }
      catch(Exception e){

         System.out.println("Invalid file");


      }



 }

}