错误:找不到符号和类离散属性 import java.io.*; 导入java.util.ArrayList; 导入java.util.StringTokenizer; 公共类文件读取器 { 公共静态最终字符串路径\u到\u DATA\u FILE=“playneting.DATA”; 公共静态ArrayList buildRecords(){ BufferedReader reader=null; DataInputStream dis=null; ArrayList记录=新的ArrayList(); 试试{ 文件f=新文件(路径到数据文件); FileInputStream fis=新的FileInputStream(f); reader=新的BufferedReader(新的InputStreamReader(fis));; //读取文件的第一条记录 弦线; 记录r=null; 阵列属性; 而((line=reader.readLine())!=null){ StringTokenizer st=新的StringTokenizer(行,“,”); attributes=newarraylist(); r=新记录(); 如果(Hw1.NUM_ATTRS!=st.countTokens()){ 抛出新异常(“属性数未知!”); } @抑制警告(“未使用”) String day=st.nextToken(); 字符串outlook=st.nextToken(); 字符串温度=st.nextToken(); 字符串湿度=st.nextToken(); 弦风=st.nextToken(); String playTennis=st.nextToken(); if(outlook.equalsIgnoreCase(“阴天”)){ 添加(新建DiscreteAttribute(“Outlook”,DiscreteAttribute.Cloud)); } else if(outlook.equalsIgnoreCase(“sunny”)){ 添加(新的DiscreteAttribute(“Outlook”,DiscreteAttribute.Sunny)); } else if(outlook.equalsIgnoreCase(“rain”)){ add(newdiscreteAttribute(“Outlook”,DiscreteAttribute.Rain)); } if(温度等信号情况(“热”)){ 添加(新的离散属性(“温度”,DiscreteAttribute.Hot)); } 否则如果(温度等信号情况(“轻度”)){ 添加(新的离散属性(“温度”,离散属性.Mild)); } 否则如果(温度等信号(“冷”)){ 添加(新的离散属性(“温度”,DiscreteAttribute.Cool)); } if(湿度等信号情况(“高”)){ 添加(新的离散属性(“湿度”,离散属性.High)); } 否则,如果(湿度、等信号情况(“正常”)){ 添加(新的离散属性(“湿度”,离散属性.Normal)); } if(风等信号情况(“弱”)){ 添加(新的DiscreteAttribute(“风”,DiscreteAttribute.Weak)); } 否则如果(风等信号(“强”)){ add(newdiscreteAttribute(“Wind”,DiscreteAttribute.Strong)); } 如果(打网球。相等信号情况(“否”)){ 添加(新的DiscreteAttribute(“PlayTennis”,DiscreteAttribute.PlayNo)); } 否则,如果(打网球。相等信号(“是”)){ 添加(新的DiscreteAttribute(“PlayTennis”,DiscreteAttribute.PlayYes)); } r、 设置属性(属性); 记录。添加(r); } } }
我还没有指定文件名为FileReader错误:找不到符号和类离散属性 import java.io.*; 导入java.util.ArrayList; 导入java.util.StringTokenizer; 公共类文件读取器 { 公共静态最终字符串路径\u到\u DATA\u FILE=“playneting.DATA”; 公共静态ArrayList buildRecords(){ BufferedReader reader=null; DataInputStream dis=null; ArrayList记录=新的ArrayList(); 试试{ 文件f=新文件(路径到数据文件); FileInputStream fis=新的FileInputStream(f); reader=新的BufferedReader(新的InputStreamReader(fis));; //读取文件的第一条记录 弦线; 记录r=null; 阵列属性; 而((line=reader.readLine())!=null){ StringTokenizer st=新的StringTokenizer(行,“,”); attributes=newarraylist(); r=新记录(); 如果(Hw1.NUM_ATTRS!=st.countTokens()){ 抛出新异常(“属性数未知!”); } @抑制警告(“未使用”) String day=st.nextToken(); 字符串outlook=st.nextToken(); 字符串温度=st.nextToken(); 字符串湿度=st.nextToken(); 弦风=st.nextToken(); String playTennis=st.nextToken(); if(outlook.equalsIgnoreCase(“阴天”)){ 添加(新建DiscreteAttribute(“Outlook”,DiscreteAttribute.Cloud)); } else if(outlook.equalsIgnoreCase(“sunny”)){ 添加(新的DiscreteAttribute(“Outlook”,DiscreteAttribute.Sunny)); } else if(outlook.equalsIgnoreCase(“rain”)){ add(newdiscreteAttribute(“Outlook”,DiscreteAttribute.Rain)); } if(温度等信号情况(“热”)){ 添加(新的离散属性(“温度”,DiscreteAttribute.Hot)); } 否则如果(温度等信号情况(“轻度”)){ 添加(新的离散属性(“温度”,离散属性.Mild)); } 否则如果(温度等信号(“冷”)){ 添加(新的离散属性(“温度”,DiscreteAttribute.Cool)); } if(湿度等信号情况(“高”)){ 添加(新的离散属性(“湿度”,离散属性.High)); } 否则,如果(湿度、等信号情况(“正常”)){ 添加(新的离散属性(“湿度”,离散属性.Normal)); } if(风等信号情况(“弱”)){ 添加(新的DiscreteAttribute(“风”,DiscreteAttribute.Weak)); } 否则如果(风等信号(“强”)){ add(newdiscreteAttribute(“Wind”,DiscreteAttribute.Strong)); } 如果(打网球。相等信号情况(“否”)){ 添加(新的DiscreteAttribute(“PlayTennis”,DiscreteAttribute.PlayNo)); } 否则,如果(打网球。相等信号(“是”)){ 添加(新的DiscreteAttribute(“PlayTennis”,DiscreteAttribute.PlayYes)); } r、 设置属性(属性); 记录。添加(r); } } },java,classification,training-data,Java,Classification,Training Data,我还没有指定文件名为FileReader 我在文件符号上遇到错误 找不到符号:类离散属性,位置:类分类器.FileReader 找不到符号:变量离散属性位置:class classifier.FileReader 这里是DiscreteAttribute类。您需要将该类添加到项目中 import java.io.*; import java.util.ArrayList; import java.util.StringTokenizer; public class FileReader {
这里是DiscreteAttribute类。您需要将该类添加到项目中
import java.io.*;
import java.util.ArrayList;
import java.util.StringTokenizer;
public class FileReader
{
public static final String PATH_TO_DATA_FILE = "playtennis.data";
public static ArrayList<Record> buildRecords() {
BufferedReader reader = null;
DataInputStream dis = null;
ArrayList<Record> records = new ArrayList<Record>();
try {
File f = new File(PATH_TO_DATA_FILE);
FileInputStream fis = new FileInputStream(f);
reader = new BufferedReader(new InputStreamReader(fis));;
// read the first record of the file
String line;
Record r = null;
ArrayLAist<DiscreteAttribute> attributes;
while ((line = reader.readLine()) != null) {
StringTokenizer st = new StringTokenizer(line, ",");
attributes = new ArrayList<DiscreteAttribute>();
r = new Record();
if(Hw1.NUM_ATTRS != st.countTokens()) {
throw new Exception("Unknown number of attributes!");
}
@SuppressWarnings("unused")
String day = st.nextToken();
String outlook = st.nextToken();
String temperature = st.nextToken();
String humidity = st.nextToken();
String wind = st.nextToken();
String playTennis = st.nextToken();
if(outlook.equalsIgnoreCase("overcast")) {
attributes.add(new DiscreteAttribute("Outlook", DiscreteAttribute.Overcast));
}
else if(outlook.equalsIgnoreCase("sunny")) {
attributes.add(new DiscreteAttribute("Outlook", DiscreteAttribute.Sunny));
}
else if(outlook.equalsIgnoreCase("rain")) {
attributes.add(new DiscreteAttribute("Outlook", DiscreteAttribute.Rain));
}
if(temperature.equalsIgnoreCase("hot")) {
attributes.add(new DiscreteAttribute("Temperature", DiscreteAttribute.Hot));
}
else if(temperature.equalsIgnoreCase("mild")) {
attributes.add(new DiscreteAttribute("Temperature", DiscreteAttribute.Mild));
}
else if(temperature.equalsIgnoreCase("cool")) {
attributes.add(new DiscreteAttribute("Temperature", DiscreteAttribute.Cool));
}
if(humidity.equalsIgnoreCase("high")) {
attributes.add(new DiscreteAttribute("Humidity", DiscreteAttribute.High));
}
else if(humidity.equalsIgnoreCase("normal")) {
attributes.add(new DiscreteAttribute("Humidity", DiscreteAttribute.Normal));
}
if(wind.equalsIgnoreCase("weak")) {
attributes.add(new DiscreteAttribute("Wind", DiscreteAttribute.Weak));
}
else if(wind.equalsIgnoreCase("strong")) {
attributes.add(new DiscreteAttribute("Wind", DiscreteAttribute.Strong));
}
if(playTennis.equalsIgnoreCase("no")) {
attributes.add(new DiscreteAttribute("PlayTennis", DiscreteAttribute.PlayNo));
}
else if(playTennis.equalsIgnoreCase("yes")) {
attributes.add(new DiscreteAttribute("PlayTennis", DiscreteAttribute.PlayYes));
}
r.setAttributes(attributes);
records.add(r);
}
}
}
您需要为DiscreteAttribute类添加导入。导入该类:
import package.DiscreteAttribute
!并更改与它冲突的类的名称java.io.FileReader
!
public class DiscreteAttribute extends Attribute { public static final int Sunny = 0; public static final int Overcast = 1; public static final int Rain = 2; public static final int Hot = 0; public static final int Mild = 1; public static final int Cool = 2; public static final int High = 0; public static final int Normal = 1; public static final int Weak = 0; public static final int Strong = 1; public static final int PlayNo = 0; public static final int PlayYes = 1; enum PlayTennis { No, Yes } enum Wind { Weak, Strong } enum Humidity { High, Normal } enum Temp { Hot, Mild, Cool } enum Outlook { Sunny, Overcast, Rain } public DiscreteAttribute(String name, double value) { super(name, value); } public DiscreteAttribute(String name, String value) { super(name, value); } }