如何将结果保存到文本文件中?
这里是java中的tic tac toe游戏,有人可以解释如何保存X
多少次以及O
多少次到文本文件中,我看过类似的线程,但是我不知道如何使它在这个案件。对不起,重复,不知道如何更新最后一个问题。如何将结果保存到文本文件中?
package xo2;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class XO2 implements ActionListener {
private int[][] winningCombination = new int[][] {
{0, 1, 2},
{3, 4, 5},
{6, 7, 8},
{0, 3, 6},
{1, 4, 7},
{2, 5, 8},
{0, 4, 8},
{3, 4, 6}
};
private JFrame window = new JFrame("Tic Tac Toe");
private JButton buttons[] = new JButton[9];
private int count = 0;
private String letter = "";
private boolean win = false;
public XO2(){
window.setSize(300,300);
window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
window.setLayout(new GridLayout(3,3));
for(int i=0; i<9; i++){
buttons[i] = new JButton();
window.add(buttons[i]);
buttons[i].addActionListener(this);
}
window.setVisible(true);
}
public void actionPerformed(ActionEvent a) {
count++;
if(count % 2 == 0){
letter = "O";
}
else {
letter = "X";
}
JButton pressedButton = (JButton)a.getSource();
pressedButton.setText(letter);
pressedButton.setEnabled(false);
for(int i=0; i<8; i++){
if(buttons[winningCombination[i][0]].getText().equals(buttons[winningCombination[i][1]].getText()) &&
buttons[winningCombination[i][1]].getText().equals(buttons[winningCombination[i][2]].getText()) &&
!buttons[winningCombination[i][0]].getText().equals("")){
win = true;
}
}
if(win == true){
JOptionPane.showMessageDialog(null, letter + " Won!");
System.exit(0);
} else if(count == 9 && win == false){
JOptionPane.showMessageDialog(null, "Draw!");
System.exit(0);
}
}
public static void main(String[] args){
XO2 starter = new XO2();
}
}
更改代码这个
编辑的代码3
import java.awt.*;
import java.awt.event.*;
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
import java.io.StringWriter;
import javax.swing.*;
public class XO2 implements ActionListener {
private int[][] winningCombination = new int[][] {
{0, 1, 2},
{3, 4, 5},
{6, 7, 8},
{0, 3, 6},
{1, 4, 7},
{2, 5, 8},
{0, 4, 8},
{3, 4, 6}
};
private JFrame window = new JFrame("Tic Tac Toe");
private JButton buttons[] = new JButton[9];
private int count = 0;
private String letter = "";
private boolean win = false;
public XO2(){
window.setSize(300,300);
window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
window.setLayout(new GridLayout(3,3));
for(int i=0; i<9; i++){
buttons[i] = new JButton();
window.add(buttons[i]);
buttons[i].addActionListener(this);
}
window.setVisible(true);
}
public void actionPerformed(ActionEvent a) {
count++;
if(count % 2 == 0){
letter = "O";
}
else {
letter = "X";
}
JButton pressedButton = (JButton)a.getSource();
pressedButton.setText(letter);
pressedButton.setEnabled(false);
for(int i=0; i<8; i++){
if(buttons[winningCombination[i][0]].getText().equals(buttons[winningCombination[i][1]].getText()) &&
buttons[winningCombination[i][1]].getText().equals(buttons[winningCombination[i][2]].getText()) &&
!buttons[winningCombination[i][0]].getText().equals("")){
win = true;
}
}
if(win == true){
JOptionPane.showMessageDialog(null, letter + " Won!");
try {
PrintWriter out = new PrintWriter(new BufferedWriter(new FileWriter("c:\\calc\\output.txt", true)));
out.println(letter + "Won!");
out.close();
} catch (IOException e) {
e.printStackTrace();
}
System.exit(0);
} else if(count == 9 && win == false){
JOptionPane.showMessageDialog(null, "Draw!");
try {
PrintWriter out = new PrintWriter(new BufferedWriter(new FileWriter("c:\\calc\\output.txt", true)));
out.println("Draw!");
out.close();
} catch (IOException e) {
e.printStackTrace();
}
System.exit(0);
}
}
public static void main(String[] args){
XO2 starter = new XO2();
}
}
并确保你已经加入这个
之前创建要写入文本文件我添加的代码标有双星号
希望这有助于
你确定你创建的文件,并在程序中添加正确的路径,因为它对我有用 – 2013-04-20 17:27:19
是的我改变了位置desctop和我做output.txt文件 – user2302407 2013-04-20 17:30:17
你在每个文件夹之间添加双反斜杠,就像这个“c:\\ calc \\ output.txt”一样,因为如果你做单曲没有任何反应, – 2013-04-20 17:32:15
我希望有一个按钮:100000000000%重复。 – Maroun 2013-04-20 16:06:24
抱歉maroun maroun,im在这个论坛新 – user2302407 2013-04-20 16:54:00