【发布时间】:2014-12-12 13:11:35
【问题描述】:
我有两个字符串数组,一个来自文本文件,另一个来自用户。我用拆分方法拆分它们。我想一一比较。换句话说,将 Userword[0] 与 split[0]、split[1]、split[2]...、Userword[1] 与 split[0]、split[1]、split[2]... 进行比较文本文件中的每个单词都有自己的乘积值。这是我的代码
import java.io.*;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Scanner;
import java.util.logging.Level;
import java.util.logging.Logger;
public class Ai2 {
private static Scanner scan = new Scanner(System.in);
private static List<Ai2> list = new ArrayList<Ai2>();
private static String[] split;
private static String[] Userword;
private static double number1;
private static double number2;
private static double number3;
private static double multPos = 0;
private static double multNeg = 0;
public static void main(String[] args) {
String sentence = null;
System.out.println("\nEnter a sentence please");
sentence = scan.nextLine();
try {
BufferedReader br = new BufferedReader(new FileReader("C:\\Users\\Alparslan\\Desktop\\words.txt"));
String txt = " ";
String msg = " ";
while((msg = br.readLine()) != null){
txt += msg;
}//words in the text is taken to txt variable in this area.
for(int i=0; i<sentence.length(); i++){
split = txt.split(" ");
// Sentence boşluğa göre ayrılıyor ve split adındaki diziye
// başarıyla aktarılıyor. kontrol için alttaki yazlılabilir.
//System.out.println(Arrays.toString(split));
}
for(int i=0; i<sentence.length(); i++){
Userword = sentence.split(" ");
// Sentence boşluğa göre ayrılıyor ve split adındaki diziye
// başarıyla aktarılıyor. kontrol için alttaki yazlılabilir.
//System.out.println(Arrays.toString(Userword));
}
for (int i =0; i<sentence.length(); i++) {
for(int j=0; j<sentence.length(); i++){
if(Userword[i].equals(split[j])){
multPos *= 0.6*Double.parseDouble(split[i+1]);
multNeg *= 0.4*Double.parseDouble(split[i+2]);
}
}//internal for
}//external for
if(multPos>multNeg){
System.out.println("The Sentence is positive" + multPos);
}else{
System.out.println("The Sentence is negative" + multNeg);
}
br.close();
} catch (IOException ex) {
Logger.getLogger(Ai2.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
编辑:我删除了 String[] ,所以我没有创建新数组,对此感到抱歉。我用这种方式写,但我得到 ArrayIndexOutOfBoundsException: 2 error
【问题讨论】:
-
什么不起作用?你得到什么错误?你试过什么?
-
您正在创建新数组,而不是为您想要的数组赋值
-
你为什么这么紧张。每个人有时都会做错事。我写我的代码我写我想要的。如果我在这里写它们,您应该知道“专业人士”此代码不起作用。如果你真的是专业人士,你就会知道哪里出了问题