网上有关“java程序设计的内容简介”话题很是火热,小编也是针对java程序设计的内容简介寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题 ,希望能够帮助到您。
本书采用任务驱动教学模式,通过任务的实施,使读者在读程序、学知识、写程序的过程中 ,逐渐掌握面向对象的Java程序设计思想和技能 。本书共分12个单元,主要包括Java程序设计过程 、基本语法规则、面向对象技术、数组与字符串 、异常处理、GUI编程、输入/输出处理 、多线程编程以及基础网络编程等内容。
本书适合作为高等职业院校计算机相关专业“Java程序设计”或者“面向对象程序设计 ”课程的教材,也可作为相关技术人员学习Java的参考用书。
JAVA程序设计课程讲什么内容?
之前有人问过同样的问题 ,我回答的,你们是不是同一个系的,要做课程设计?我直接粘贴过来:
我自己写了一个简单的程序 ,可选择落子的先后顺序,重新开始,最后判断某一方是否为五子连珠 。选择落子的先后顺序 ,只需定义一个boolean变量,每次切换取其反值;重制棋盘或重新开始就把棋盘重新绘制一遍;判断某一方是否为五子连珠,就判断某方的每个棋子,以它为中心与之紧邻的水平 ,垂直,左斜,右斜四个方向是否有五子连珠。用一个二维数组position存储棋盘上的棋子情况 ,position[x][y]=1,0,-1分别表示棋盘的第x行第y列下有黑子,无子,白子。源代码如下:
package com.test;
import java.awt.*;
import java.util.*;
import java.awt.geom.*;
import java.awt.event.*;
import javax.swing.*;
public class MyFiveChess {
public static void main(String[] args) {
JFrame f = new JFrame();
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
int screenWidth = screenSize.width;
int screenHeight = screenSize.height;
f.setSize(screenWidth / 2, screenHeight / 2);
f.setLocation(screenWidth / 4, screenHeight / 4);
f.setTitle("FiveChess");
MyPanel panel = new MyPanel();
f.add(panel);
f.setVisible(true);
}
}
class MyPanel extends JPanel {
private static final int SIDELENGTH = 10;
private ArrayList<Ellipse2D> squares = new ArrayList<Ellipse2D>();;
private Ellipse2D current = null;
JButton jb = new JButton("重新开始");
JButton jb2 = new JButton("切换先手");
boolean isBlack;
boolean first = true;
boolean isOver;
int l = 16;
int n = 20;
int bx = 20;
int by = 20;
int[][] position = new int[n + 1][n + 1];
public MyPanel(){
jb.addActionListener(new MyActionHandler());
jb2.addActionListener(new MyActionHandler());
addMouseListener(new MouseHandler());
addMouseMotionListener(new MouseMotionHandler());
add(jb);
add(jb2);
}
public void initMyPenal(){
squares = new ArrayList<Ellipse2D>();
current = null;
isBlack = first;
isOver = false;
position = new int[n + 1][n + 1];
for(int i = 0; i <= n; i++)
for(int j = 0; j <= n; j++)
position[i][j] = 0;
repaint();
}
public void paint(Graphics g) {
super.paint(g);
jb.setLocation(400,150);
jb2.setLocation(400,200);
g.setColor(Color.RED);
g.setFont(new Font(null, Font.BOLD, 20));
g.drawString((first ? "黑" : "白")+"方下子", 400, 100);
g.setColor(new Color(240, 210, 120));
g.fillRect(bx - l, by - l, l * (n + 2), l * (n + 2));
g.setColor(Color.BLACK);
for (int i = 0; i <= n; i++){
g.drawLine(bx, by + i * l, bx + l * n, by + i * l);
g.drawLine(bx + i * l, by, bx + i * l, by + l * n);
}
Graphics2D g2 = (Graphics2D)g;
isBlack = first;
for(Ellipse2D r : squares){
g2.setColor(isBlack ? Color.BLACK : Color.WHITE);
g2.fill(r);
isBlack = !isBlack;
}
if(isOver) {
g.setColor(Color.RED);
g.setFont(new Font("TimesRoman", Font.BOLD, 60));
g.drawString((isBlack ? "白" : "黑") + "方获胜", 120, 200);
}
}
public Ellipse2D find(Point2D p){
for(Ellipse2D r : squares)
if(r.contains(p))
return r;
return null;
}
public void add(Point2D p) {
if(p.getX() > bx - l / 2 && p.getX() < bx + l * n + l / 2 &&
p.getY() > by - l / 2 && p.getY() < by + l * n + l / 2){
for (int i = 0; i <= n; i++) {
for (int j = 0; j <= n; j++) {
if(position[i][j] == 1 || position[i][j] == -1) continue;
current = new Ellipse2D.Double(bx + j * l - l / 2,
by + i * l - l / 2, l, l);
if (current.contains(p)) {
position[i][j] = isBlack ? 1 : -1;
isOver = isWin(position, isBlack, i , j) ? true : false;
current.setFrame(bx + j * l - l / 2 + 1,
by + i * l - l / 2 + 1, l - 2, l - 2);
squares.add(current);
repaint();
return;
}
}
}
}
}
private class MouseHandler extends MouseAdapter{
public void mousePressed(MouseEvent event){
if(isOver) return;
current = find(event.getPoint());
if(current == null)
add(event.getPoint());
}
}
private class MyActionHandler implements ActionListener{
public void actionPerformed(ActionEvent e) {
String cmd=e.getActionCommand();
if("重新开始".equals(cmd)){
initMyPenal();
}else if("切换先手".equals(cmd)){
initMyPenal();
first=!first;
}
}
}
private class MouseMotionHandler implements MouseMotionListener{
public void mouseMoved(MouseEvent event){
Rectangle r = new Rectangle(bx - l, by - l, l * (n + 2), l * (n + 2));
if(r.contains(event.getPoint())){
setCursor(Cursor.getPredefinedCursor(Cursor.CROSSHAIR_CURSOR));
}else setCursor(Cursor.getDefaultCursor());
}
public void mouseDragged(MouseEvent event){}
}
public boolean isWin(int[][] state, boolean isBlack, int x, int y) {//四个方向中是否有五子连珠
return isCzWin(state, isBlack, x, y)
|| isSpWin(state, isBlack, x, y)
|| isYxWin(state, isBlack, x, y)
|| isZxWin(state, isBlack, x, y);
}
public boolean isCzWin(int[][] state, boolean isBlack, int x, int y) {//判断垂直方向是否有五子连珠
int n = 0;
int a = (x >= 4 ? x - 4 : 0);
int b = (x <= state.length - 5 ? x + 4 : state.length - 1);
for (int i = a; i <= b; i++)
if (state[i][y] == (isBlack ? 1: -1)) {
if (++n == 5) return true;
} else n = 0;
return false;
}
public boolean isSpWin(int[][] state, boolean isBlack, int x, int y) {//判断水平方向是否有五子连珠
int n = 0;
int a = (y >= 4 ? y - 4 : 0);
int b = (y <= state[0].length - 5 ? y + 4 : state[0].length - 1);
for (int i = a; i <= b; i++)
if (state[x][i] == (isBlack ? 1: -1)) {
if (++n == 5) return true;
} else n = 0;
return false;
}
public boolean isZxWin(int[][] state, boolean isBlack, int x, int y) {//判断左斜方向是否有五子连珠
int n = 1, a = x, b = y;
for (int i = 1; i <= 4 && a > 0 && b > 0; i++)
if (state[a - 1][b - 1] == (isBlack ? 1: -1)) {
n++; a--; b--;
} else break;
for (int i = 1; i <= 4 && x < state.length - 1 && y < state[0].length - 1; i++)
if (state[x + 1][y + 1] == (isBlack ? 1: -1)) {
n++; x++; y++;
} else break;
if (n >= 5) return true;
return false;
}
public boolean isYxWin(int[][] state, boolean isBlack, int x, int y) {//判断右斜方向是否有五子连珠
int n = 1, a = x, b = y;
for (int i = 1; i <= 4 && a > 0 && b < state[0].length - 1; i++)
if (state[a - 1][b + 1] == (isBlack ? 1: -1)) {
n++; a--; b++;
} else break;
for (int i = 1; i <= 4 && x < state.length - 1 && y > 0; i++)
if (state[x + 1][y - 1] == (isBlack ? 1: -1)) {
n++; x++; y--;
} else break;
if (n >= 5) return true;
return false;
}
}
比较简略 ,自己可以根据情况修改,改进改进!
《Java程序设计》课程是使用Java语言进行应用程序设计的课程 。课程的主要目标有三:一、掌握Java语言的语法,能够较为深入理解Java语言机制 ,掌握Java语言面向对象的特点。 二、掌握JavaSE中基本的API,掌握在集合 、线程、输入输出、文本处理 、图形用户界面、网络等方面的应用。三、能够编写有一定规模的应用程序,养成良好的编程习惯 。本课程要对Java语言的一些机制会详细讲解 ,所以具有系统性。本课程还注重实践性,要讲Java语言在文本、文件 、窗体界面、图形、数据库 、多线程、并行编程方面的应用。还会讲到编好代码的经验与技巧,包括面向对象的思想、软件开发工具的使用等 。在教学中,采用教师讲授 、学生自测、学生讨论、编程实践相结合的方法。
关于“java程序设计的内容简介”这个话题的介绍 ,今天小编就给大家分享完了,如果对你有所帮助请保持对本站的关注!
本文来自作者[sqyy]投稿,不代表瑞骐号立场,如若转载,请注明出处:https://sz-rich.com.cn/cshi/202507-9337.html
评论列表(4条)
我是瑞骐号的签约作者“sqyy”!
希望本篇文章《java程序设计的内容简介》能对你有所帮助!
本站[瑞骐号]内容主要涵盖:国足,欧洲杯,世界杯,篮球,欧冠,亚冠,英超,足球,综合体育
本文概览:网上有关“java程序设计的内容简介”话题很是火热,小编也是针对java程序设计的内容简介寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您...