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://www.sz-rich.com.cn/cshi/202507-9337.html

(18)

文章推荐

  • 服部平次

    网上有关“服部平次”话题很是火热,小编也是针对服部平次寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您。基本信息姓名:服部平次(はっとりへいじ;HattoriHeiji) 名字由来:服部刑事(《侦探物语》中的人物,工藤俊作的好友)+钱形平次 英文版译名

    2025年07月23日
    19
  • 大学英语四级考试词汇连环记的内容简介

    网上有关“大学英语四级考试词汇连环记的内容简介”话题很是火热,小编也是针对大学英语四级考试词汇连环记的内容简介寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您。《大学英语4级考试词汇连环记》是一本“高效、好记”的词汇书。它灵活运用5种手段帮助读者快速记忆单词。1

    2025年07月24日
    17
  • 乌苏市天丰源农资有限责任公司怎么样?

    网上有关“乌苏市天丰源农资有限责任公司怎么样?”话题很是火热,小编也是针对乌苏市天丰源农资有限责任公司怎么样?寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您。乌苏市天丰源农资有限责任公司是2016-02-03在新疆维吾尔自治区塔城地区乌苏市注册成立的有限责任公

    2025年07月24日
    20
  • 浏阳有哪些景点

    网上有关“浏阳有哪些景点”话题很是火热,小编也是针对浏阳有哪些景点寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您。中文名称浏阳外文名称LiuyangCity别名花炮之乡蒸菜之乡将军之乡行政区类别县级市所属地区中国湖南省长沙市下辖地区3乡25镇4街

    2025年07月27日
    14
  • 昭示怎么造句

    网上有关“昭示怎么造句”话题很是火热,小编也是针对昭示怎么造句寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您。 昭示是指明白宣示或显示。你们对昭示的造句了解吗?下面是我给大家整理的昭示怎么造句,供大家阅读!昭示怎么造句 1.这也向社会公众昭示了一种公

    2025年07月27日
    15
  • 杭州华复康医疗科技有限公司(关于杭州华复康医疗科技有限公司的简介)

    网上有关“杭州华复康医疗科技有限公司(关于杭州华复康医疗科技有限公司的简介)”话题很是火热,小编也是针对杭州华复康医疗科技有限公司(关于杭州华复康医疗科技有限公司的简介)寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您。看完了以银行、券商和保险为代表的

    2025年07月27日
    14
  • 杭州力豪家纺有限公司怎么样?

    网上有关“杭州力豪家纺有限公司怎么样?”话题很是火热,小编也是针对杭州力豪家纺有限公司怎么样?寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您。简介:注册号:330182000021129所在地:浙江省注册资本:200万元人民币法定代表:潜志良企业类型:私营有限

    2025年07月29日
    20
  • 秦始皇的儿子都叫什么

    网上有关“秦始皇的儿子都叫什么”话题很是火热,小编也是针对秦始皇的儿子都叫什么寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您。秦始皇的儿子叫扶苏、公子高、公子将闾、胡亥。1、扶苏(大儿子)扶苏(?—公元前210年),嬴姓,名扶苏,常称公子扶苏,秦始皇大儿子,扶

    2025年07月31日
    15
  • 教程辅助!“微乐四川麻将外卦神器下载微信小程序”附开挂脚本详细步骤

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

    2025年08月04日
    11
  • 教程分享“福建十三水特殊牌型”开挂(透视)辅助教程

    亲,福建十三水特殊牌型这款游戏可以开挂的,确实是有挂的,很多玩家在这款游戏中打牌都会发现很多用户的牌特别好,总是好牌,而且好像能看到其他人的牌一样。所以很多小伙伴就怀疑这款游戏是不是有挂,实际上这款游戏确实是有挂的通过添加客服微:本司针对手游进行匹配,选择我们的四大理由:1、软件

    2025年08月06日
    3

发表回复

本站作者后才能评论

评论列表(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,节假日休息

    关注我们