다른 하나는 사용자가 보낸 텍스트 파일에서 하나씩 두 개의 문자열 배열이 있습니다. 분할 방식으로 분할했습니다. 그리고 저는 그것들을 하나씩 비교하고 싶습니다. 즉, split [0], split [1], split [2] ...로 Userword [0]을 split [0], split [1], split [2] ..., Userword [1] 텍스트 파일에는 모든 단어가 고유 한 값을 가지고 있습니다. 여기 내 코드가Java에서 문자열 배열 비교
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);
}
}
}
편집 : 삭제 된 문자열 [] s 그래서 나는 이것을 미안하다. 나는 이런 식으로 쓰기하지만 난는 ArrayIndexOutOfBoundsException 수 : 2 오류가
무엇이 작동하지 않습니까? 무슨 오류있어? 너 뭐 해봤 니? –
원하는 배열에 값을 부여하는 대신 새 배열을 만듭니다. – MihaiC
왜 그렇게 긴장됩니까? 모두가 때로는 잘못된 일을 할 수 있습니다. 나는 내 코드를 써서 내가 원하는 것을 쓴다. 여기에 적어두면 '전문가'가이 코드가 작동하지 않는다는 것을 알아야합니다. 당신이 정말로 전문가라면 정확하게 작동하지 않는 곳을 알고 있습니다. – Alp