当前位置: 首页 > 知识库问答 >
问题:

如何修复"非法启动表达式尝试{

李俭
2023-03-14

我想让这个程序读一读。跳过第一行字符串后,csv文件和输出数据。

我尝试过移动卷曲括号或创建一个新的尝试捕捉块。我尝试过在try之外移动变量。

import java.io.*;
import java.io.BufferedReader;
import java.io.DataInputStream;
import java.io.FileInputStream;
import java.io.InputStreamReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Scanner;


public class USCrimesFile{
public static USCrimes[] read(String filename){

    //Declare Array
    USCrimes[] stats = new USCrimes[20];
    //Declare variables
    int count = 0;
    String inFile = "Crime.csv";
    String line;

    @SuppressWarnings({"rawtypes","unchecked"})

    try
    {
        ArrayList storeList = new ArrayList<USCrimes>();
        FileInputStream fstream = new FileInputStream(inFile);
        DataInputStream in = new DataInputStream(fstream);
        BufferedReader br = new BufferedReader(new InputStreamReader(in));
        String strLine;

        //Read file line by line
        strLine = br.readLine();
        while ((strLine = br.readLine()) !=null){
            storeList.add(read(strLine));
        }
        in.close();
    }           
    catch (IOException e){          
    }

    try{
        Scanner inputReader;
        inputReader = new Scanner(new File(filename));

        while(inputReader.hasNext()){
            line = inputReader.nextLine();
            String[] data = line.split(",");
            stats[count] = new USCrimes(Integer.parseInt(data[0]));
            stats[count].setPopulation(Double.parseDouble(data[1]));
            stats[count].setMurderRate(Double.parseDouble(data[5]));
            stats[count].setRobberyRate(Double.parseDouble(data[9]));
            count++;
        }
        inputReader.close();
    }
    catch (IOException e){
        System.out.println("File not found.");
    }
    return stats;
}}

预期它将编译,但输出错误:try类型的非法开始

共有1个答案

谷飞星
2023-03-14

问题在于抑制警告注释

@SuppressWarnings({"rawtypes","unchecked"})

这应该在方法级别或附加到变量,如store List

其他问题:

catch (IOException e){          
}

永远不要默默地接受例外。如果这里出了问题,你永远不会知道。

stats[count] = new USCrimes(Integer.parseInt(data[0]));

检查以确保未超过数组大小-尝试使用ArrayList

 类似资料:
  • 如何在不包含连续子字符串baa的字母表{a,b,c}上表达正则表达式?

  • 我的正则表达式是 当我在java中使用Pattern.complie()编译时,我得到了*非法重复字符* 我测试了这个正则表达式 当我编译这个时,它没有显示错误。 为什么会发生这种情况?

  • 为什么我会得到:非法的表达式开始-公共静态int noOfLetters(String str){error?我如何修复它?

  • 我的路线计划每月在凌晨1:00运行一次,如果我的应用程序在这段时间内关闭,就会出现问题,所以我想在应用程序启动时运行该作业。 它使用时间段(如果服务重新启动,作业将运行),但不使用cron表达式。 我试过使用以下方法,但没有成功。 从(“quartz2://scheduler?cron=0 45 15 1 1/1?”? 有人能让我知道,如果我错过了什么。

  • 求解器必须处理一个规划实体和两个规划变量。它为会议分配一个时间间隔和一个房间。由于构造启发式的搜索空间很大,我不得不实现顺序移动选择。 这样做的问题是,求解器有时会指定一个没有可用房间的时间序列,所以当要分配房间时,求解器无法找到一个不打破硬约束的房间。 然后,局部搜索阶段能够找到一个解决方案,不打破任何硬约束,但我必须运行它很长时间,以获得一个好的解决方案质量。例如,求解器将返回远程会议分配,即

  • 我不明白第77行不能从这个开始,但我用“public String showTrack()”开始了类似的内容。 这是我当前的代码: