HW7.9
import java.util.Scanner; public class Solution { public static void main(String[] args) { Scanner input = new Scanner(System.in); char[][] chessboard = new char[7][7]; int x, y; for(int i = 0; i < 7; i++) for(int j = 0; j < 7; j++) chessboard[i][j] = ' '; for(int i = 0; i < 7; i += 2) for(int j = 0; j < 7; j++) chessboard[i][j] = '-'; for(int i = 1; i < 7; i += 2) for(int j = 0; j < 7; j += 2) chessboard[i][j] = '|'; display(chessboard); while(true) { System.out.print("Enter a row(1, 2, or 3) for player X: "); x = input.nextInt(); System.out.print("Enter a column(1, 2, or 3) for player X: "); y = input.nextInt(); putChess(chessboard, x, y, 'X'); display(chessboard); if(judge(chessboard) == true) { System.out.println("X player won"); break; } System.out.print("Enter a row(1, 2, or 3) for player O: "); x = input.nextInt(); System.out.print("Enter a column(1, 2, or 3) for player O: "); y = input.nextInt(); putChess(chessboard, x, y, 'O'); display(chessboard); if(judge(chessboard) == true) { System.out.println("O player won"); break; } if(isFull(chessboard)) { System.out.println("Draw"); break; } } } public static void display(char[][] array) { for(int i = 0; i < 7; i++) { for(int j = 0; j < 7; j++) System.out.print(array[i][j]); System.out.println(); } } public static void putChess(char[][] array, int x, int y, char ch) { array[2 * x - 1][2 * y - 1] = ch; } public static boolean judge(char[][] array) { for(int i = 1; i < 7; i += 2) { if(array[i][1] == array[i][3] && array[i][1] == array[i][5] && array[i][1] != ' ') return true; if(array[1][i] == array[3][i] && array[1][i] == array[5][i] && array[1][i] != ' ') return true; } if(array[1][1] == array[3][3] && array[1][1] == array[5][5] && array[1][1] != ' ') return true; if(array[5][1] == array[3][3] && array[5][1] == array[1][5] && array[5][1] != ' ') return true; return false; } public static boolean isFull(char[][] array) { for(int i = 0; i < array.length; i++) for(int j = 0; j < array[0].length; j++) if(array[i][j] == ' ') return false; return true; } }
HW7.9的更多相关文章
- HW7.18
public class Solution { public static void main(String[] args) { int[][] m = {{1, 2}, {3, 4}, {5, 6} ...
- HW7.17
import java.util.Scanner; public class Solution { public static void main(String[] args) { Scanner i ...
- HW7.16
import java.util.Arrays; public class Solution { public static void main(String[] args) { int row = ...
- HW7.15
public class Solution { public static void main(String[] args) { double[][] set1 = {{1, 1}, {2, 2}, ...
- HW7.14
import java.util.Scanner; public class Solution { public static void main(String[] args) { Scanner i ...
- HW7.13
import java.util.Scanner; public class Solution { public static void main(String[] args) { Scanner i ...
- HW7.12
import java.util.Scanner; public class Solution { public static void main(String[] args) { double[] ...
- HW7.11
import java.util.Scanner; public class Solution { public static void main(String[] args) { Scanner i ...
- HW7.10
public class Solution { public static void main(String[] args) { int[][] array = new int[3][3]; for( ...
随机推荐
- Flume的Avro Sink和Avro Source研究之一: Avro Source
问题 : Avro Source提供了怎么样RPC服务,是怎么提供的? 问题 1.1 Flume Source是如何启动一个Netty Server来提供RPC服务. 由GitHub上avro-rpc ...
- FF浏览器来帮助我们录制脚本
有时我们录制一个页面的脚本,我们需要知道这个页面哪些请求是耗时最大的?这个时候FF浏览器的网络分析功能就可以派上用场了,打开火狐浏览器按F12: 点击重新载入,可以看到下面的信息: 看到最耗时的操作了 ...
- [itint5]合并K个有序链表
merge sort,leet code里面曾经做过.但一开始没这么写,遍历来做,效率n*k了,用了merge sort后,变成logn*k. 用了dummy node.同时要注意size为0的情况. ...
- 转:Bitbucket使用方法
一.软件及SSH keys: 由于我的Bitbucket账号的邮箱及用户名与Github相同,所以SSH Public Keys可以用Github的,登录Bitbucket,悬浮在用户名boliqua ...
- 让JAVA代码跑得更快
本文简单介绍一下在写代码过程中用到的一些让JAVA代码更高效的技巧. 1. 将一些系统资源放在池中(如数据库连接, 线程等) 在standalone的应用中, 数据库连接池可以使用一些开源的连接池 ...
- HTTP认证方式
HTTP请求报头: Authorization HTTP响应报头: WWW-Authenticate HTTP认证 基于 质询 /回应( challenge/response)的认证模式. ◆ ...
- sudo: ./sd_fusing.sh:找不到命令
1. -----
- bash 统计文件行数
#假设文件名是:fortest.gtf declare -i fileLinesfileLines=`sed -n '$=' fortest.gtf`echo $fileLines #-------- ...
- poj2823Sliding Window(线段树求最值)
链接 裸线段树 这题时间卡的挺棒 #include <iostream> #include<cstdio> #include<cstring> #include&l ...
- FreeMarker中if标签内的判断条件
reeMarker中的<#if>标签除了里面直接判断 boolean 类型的变量外,也可以进行表达式判断,有几个细节记录一下 1. 判断对象是否存在(null) 经常会用到,如果对象 != ...