java IO作业(梭哈)

实验内容

实验内容一:假设有一个梭哈游戏需要保存游戏玩家的结果数据,请用Java编写一个文本文件,保存参与游戏的所有玩家昵称,登陆密码,积分,比赛次数。

实验内容二:读取实验内容一中的文本文件内容显示参与游戏的所有玩家昵称,登陆密码,积分,比赛次数(按照积分进行排序),界面方向参考第11-12章,可以选择awt,swing或者javaFx(https://code.makery.ch/zh-cn/library/javafx-tutorial/),如下图:
在这里插入图片描述

class player

package high.studGameAndIO;

public class Player {
    private String name;
    private String accountNumber;
    private String password;
    private String number;
    private String frequency;

    public Player(String name, String accountNumber, String password, String number, String frequency) {
        this.name = name;
        this.accountNumber = accountNumber;
        this.password = password;
        this.number = number;
        this.frequency = frequency;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getPassword() {
        return password;
    }

    public String getNumber() {
        return number;
    }

    public String getFrequency() {
        return frequency;
    }

    @Override
    public String toString() {
        return name + " " + accountNumber+ " " + password + " " + number + " " + frequency ;
    }
}

实验一:

package high.studGameAndIO;

import java.io.*;

/**
 * @author: Cai
 * @date: 2020/11/4 10:51
 * @description:
 */
public class Save {
    public static void main(String[] args) {
        try {
            File file = new File("text1.txt");
            if (file.exists()) {
                file.createNewFile();
            }
            FileWriter fileWriter = new FileWriter(file, false);//true代表追加,false,标识向文件中写入会覆盖旧的内容
            BufferedWriter bufferedWriter = new BufferedWriter(fileWriter);
            Player p1 = new Player("p1", "123", "123", "1", "3");
            Player p2 = new Player("p2", "fgjh", "ewryt", "7", "63");
            Player p3 = new Player("p3", "resd", "135", "16", "6");
            Player p4 = new Player("p4", "1uyrty", "wert", "91", "376");
            Player p5 = new Player("p43", "1djghj", "wdrfthrt", "5461", "3726636");
            bufferedWriter.write(p1 + "\n");
            bufferedWriter.write(p2 + "\n");
            bufferedWriter.write(p3 + "\n");
            bufferedWriter.write(p4 + "\n");
            bufferedWriter.write(p5 + "\n");
            if (bufferedWriter!=null){
                bufferedWriter.close();
            }
            if (fileWriter!=null){
                fileWriter.close();
            }

            FileReader fileReader = new FileReader(file);
            BufferedReader bufferedReader = new BufferedReader(fileReader);
            String str = bufferedReader.readLine();
            System.out.println(str);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

实验二:

在这里插入图片描述

package high.studGameAndIO;

import javafx.application.Application;
import javafx.geometry.Insets;
import javafx.geometry.Pos;
import javafx.scene.Scene;
import javafx.scene.layout.GridPane;
import javafx.scene.paint.Color;
import javafx.scene.text.Text;
import javafx.stage.Stage;

import java.io.BufferedReader;
import java.io.FileReader;

/**
 * @author: Cai
 * @date: 2020/11/4 10:54
 * @description:
 */
public class StudReadAndView extends Application{
    @Override
    public void start(Stage primaryStage) throws Exception {
        Player[] players = new Player[1000];
        int num ;
        int a ;
        BufferedReader br = new BufferedReader(new FileReader("text1.txt"));
        String strAll;
        a = 0;
        while ((strAll = br.readLine()) != null) {
            num = 0;
            for (int i = 0; i < strAll.length(); i++) {
                if (strAll.charAt(i) == ' ') {
                    num++;
                }
            }
            String arr1[] = strAll.split(" ");
            for (int i = 0; i <= num; i++) {
                System.out.print(arr1[i] + " ");
            }
            players[a++] = new Player(arr1[0], arr1[1], arr1[2], arr1[3], arr1[4]);
            System.out.println();


            GridPane Pane = new GridPane();
            Pane.setAlignment(Pos.CENTER);
            Pane.setPadding(new Insets(10, 10, 10, 10));
            Pane.setHgap(40);
            Pane.setVgap(40);

            Text name = new Text("昵称");
            name.setFill(Color.BLUE);
            Text numC = new Text("积分");
            numC.setFill(Color.BLUE);
            Text pass = new Text("登陆密码");
            pass.setFill(Color.BLUE);
            Text cnt = new Text("比赛次数");
            cnt.setFill(Color.BLUE);

            Pane.add(name, 0, 0);
            Pane.add(numC, 1, 0);
            Pane.add(pass, 2, 0);
            Pane.add(cnt, 3, 0);

            for (int i = 0; i < a; i++) {
                Pane.add(new Text(players[i].getName()), 0, i + 1);
                Pane.add(new Text(players[i].getNumber()), 1, i + 1);
                Pane.add(new Text(players[i].getPassword()), 2, i + 1);
                Pane.add(new Text(players[i].getFrequency()), 3, i + 1);
            }

            Scene scene = new Scene(Pane);
            primaryStage.setTitle("梭哈游戏排行榜");
            primaryStage.setScene(scene);
            primaryStage.show();
        }
    }

    public static void main(String[] args) {
        launch(args);
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值