Ниже приведена программа, в которой я читаю файл с двумя столбцами. то есть имя, а второе - голосование. Я читаю каждую строку, и когда введенное имя пользователем соответствует условию i.e, если имя существует в файле, оно предлагает, чтобы вы уже голосовали и не могли голосовать снова. Он выполняет поиск записи, но почему-то не выходит, пока не завершит общее количество строк в моем файле.Выход из цикла при выполнении условия соединения из файла.
Также, как я могу подсчитать общее количество голосов, то есть из столбца два. предположим, что у меня есть два типа записей YES и NO в этом столбце, как я могу рассчитать общее количество YE и No и сравнить их?
Спасибо за помощь заранее
package samples;
import homework.EmployeeA;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Scanner;
public class Votes {
public static void main(String[] args) {
File f = new File("E://Employee/votes.txt");
try {
Scanner s= new Scanner(f);
System.out.println("Is motion open for voting?. Press \n1: Yes\n2: No");
Scanner scan = new Scanner (System.in);
int choice = scan.nextInt();`enter code here`
while(s.hasNext())
{
String line = s.nextLine();
String temp[]= line.split(" ");
EmployeeA e = new EmployeeA("hiren", "yes");
e.name = temp[0];
e.vote = temp[1];
ArrayList<EmployeeA> list = new ArrayList<EmployeeA>();
list.add(e) ;
for (int i=0; i<list.size(); i++)
{
EmployeeA t= list.get(i);
if (choice==1)
{
System.out.println("Please enter your name to start voting");
String vname=scan.next();
if (t.name.equalsIgnoreCase(vname))
{
System.out.println("opps you have already voted once and you are not eligible to vote again");
}
else
{
System.out.println("Hey greate news");
}
}
if (choice==2)
{
{
System.out.println(" Please have patience till Motion is opened for voting");
}
}
StringBuffer sb = new StringBuffer("D://Employee/votes.txt");
try{
FileWriter fwriter = new FileWriter(f);
BufferedWriter bwriter = new BufferedWriter(fwriter);
bwriter.write(sb.toString());
bwriter.close();
}
catch (IOException e1){
e1.printStackTrace();
*/
}
}
if (choice==2)
{
{
System.out.println(" Please have patience till Motion is opened for voting");
}
}
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
Пожалуйста, исправьте форматирование, если хотите помочь. Также было бы полезно увидеть vote.txt и, возможно, укоротить код до соответствующих частей. – BroSlow
babubhai да hiren Нет bob Да samir Да Canon No – user2498339