java程序设计的内容简介

网上有关“java程序设计的内容简介”话题很是火热,小编也是针对java程序设计的内容简介寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您...

网上有关“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

(16)

文章推荐

  • 沧州的武术名人有哪些?

    网上有关“沧州的武术名人有哪些?”话题很是火热,小编也是针对沧州的武术名人有哪些?寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您。1、“千斤神力王”王子平王子平(1881—1973),沧州义和街人,曾任中国武协副主席,第一届全运会武术表演赛总裁判长。191

    2025年07月23日
    14
  • 首开香溪郡的配套和规划怎么样?

    网上有关“首开香溪郡的配套和规划怎么样?”话题很是火热,小编也是针对首开香溪郡的配套和规划怎么样?寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您。给您介绍一下首开香溪郡的周边配套情况。首开香溪郡位于通顺路和东六环路交叉口,别墅区内的洋房项目。项目位于别墅区(融

    2025年07月23日
    16
  • 天狼星有什么称呼?

    网上有关“天狼星有什么称呼?”话题很是火热,小编也是针对天狼星有什么称呼?寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您。天贵”、“天厄”、“天权”、“天破”、“天奸”、“天文”、“天福”、“天驿”、“天孤”、“天刃”、“天艺”、“天寿”。星宿是天文学术语,寓

    2025年07月26日
    13
  • 中国十大生态板品牌最新排名是什么?

    网上有关“中国十大生态板品牌最新排名是什么?”话题很是火热,小编也是针对中国十大生态板品牌最新排名是什么?寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您。中国十大生态板品牌分别是:朗生、兔宝宝、莫干山、千年舟、圣象、方圆、联丰、康辉、扬子、大王椰。都是经过市场

    2025年07月28日
    16
  • 朗文外研社新概念英语的书信息2

    网上有关“朗文外研社新概念英语的书信息2”话题很是火热,小编也是针对朗文外研社新概念英语的书信息2寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您。ISBN:9787560013473[十位:7560013473]作/译者:亚历山大出版社:外语教学与研究出版社

    2025年07月29日
    17
  • 关于将军的现代诗句

    网上有关“关于将军的现代诗句”话题很是火热,小编也是针对关于将军的现代诗句寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您。1.关于将军的诗句凉州词(唐)王翰葡萄美酒夜光杯,欲饮琵琶马上催.醉卧沙场君莫笑,古来征战几人回.古从

    2025年07月29日
    13
  • 怎么把朱子读书法运用到学习中去

    网上有关“怎么把朱子读书法运用到学习中去”话题很是火热,小编也是针对怎么把朱子读书法运用到学习中去寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您。“在中国历史上,前古有孔子,近古有朱子。此两人,皆在中国学术思想史上及中国文化史上发出莫大声光,留下莫大影响”。作

    2025年07月31日
    10
  • 明清时期家具特点都有哪些

    网上有关“明清时期家具特点都有哪些”话题很是火热,小编也是针对明清时期家具特点都有哪些寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您。明式家具:明代是中国古典家具发展的黄金时期.明式家具多采用硬木,以黄花梨,紫檀木最为常见.结构采用小结构拼接,使用榫卯,造型上

    2025年07月31日
    14
  • 实测分析“雀神广东麻将提高胜率技巧”开挂(透视)辅助教程

    无需打开直接搜索微信:本司针对手游进行,选择我们的四大理由:1、软件助手是一款功能更加强大的软件!无需打开直接搜索微信:2、自动连接,用户只要开启软件,就会全程后台自动连接程序,无需用户时时盯着软件。3、安全保障,使用这款软件的用户可以非常安心,绝对没有被

    2025年08月01日
    13
  • 开挂辅助工具“星悦浙江麻将可以开挂吗”开挂(透视)辅助教程

    您好:星悦浙江麻将可以开挂吗这款游戏是可以开挂的,软件加微信【添加图中QQ群】确实是有挂的,很多玩家在这款游戏中打牌都会发现很多用户的牌特别好,总是好牌,而且好像能看到其他人的牌一样。所以很多小伙伴就怀疑这款游戏是不是有挂,实际上这款游戏确实是有挂的,添加客服微信【添加图中QQ群】安装软件.

    2025年08月01日
    10

发表回复

本站作者后才能评论

评论列表(4条)

  • sqyy
    sqyy 2025年07月27日

    我是瑞骐号的签约作者“sqyy”!

  • sqyy
    sqyy 2025年07月27日

    希望本篇文章《java程序设计的内容简介》能对你有所帮助!

  • sqyy
    sqyy 2025年07月27日

    本站[瑞骐号]内容主要涵盖:国足,欧洲杯,世界杯,篮球,欧冠,亚冠,英超,足球,综合体育

  • sqyy
    sqyy 2025年07月27日

    本文概览:网上有关“java程序设计的内容简介”话题很是火热,小编也是针对java程序设计的内容简介寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您...

    联系我们

    邮件:瑞骐号@sina.com

    工作时间:周一至周五,9:30-18:30,节假日休息

    关注我们