首页 > 后端开发 > 正文

求个简单点的Java程序 100行左右。 需要解释。(求一非常简单的java 程序?)

2024-04-01 02:32:53 | 我爱编程网

今天我爱编程网小编整理了求个简单点的Java程序 100行左右。 需要解释。(求一非常简单的java 程序?)相关信息,希望在这方面能够更好帮助到大家。

本文目录一览:

求个简单点的Java程序 100行左右。 需要解释。(求一非常简单的java 程序?)

求个简单点的Java程序 100行左右。 需要解释。

贪吃蛇游戏 望采纳

import java.awt.Button;

import java.awt.Color;

import java.awt.GridLayout;

import java.awt.Point;

import java.awt.event.KeyEvent;

import java.awt.event.KeyListener;

import java.util.*;

import javax.swing.JFrame;

import javax.swing.JOptionPane;

public class Snake extends JFrame implements KeyListener{

int Count=0;

Button[][] grid = new Button[20][20];

ArrayList snake_list=new ArrayList();

Point bean=new Point(-1,-1);//保存随机豆子【坐标】

int Direction = 1; //方向标志 1:上 2:下 3:左 4:右

//构造方法

public Snake()

{

//窗体初始化

this.setBounds(400,300,390,395);

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

GridLayout f=new GridLayout(20,20);

this.getContentPane().setBackground(Color.gray);

this.setLayout(f);

//初始化20*20个按钮

for(int i=0;i<20;i++)

for(int j=0;j<20;j++)

{

grid[i][j]=new Button();

this.add(grid[i][j]);

grid[i][j].setVisible(false);

grid[i][j].addKeyListener(this);

grid[i][j].setBackground(Color.blue);

}

//蛇体初始化

grid[10][10].setVisible(true);

grid[11][10].setVisible(true);

grid[12][10].setVisible(true);

grid[13][10].setVisible(true);

grid[14][10].setVisible(true);

//在动态数组中保存蛇体按钮坐标【行列】信息

snake_list.add(new Point(10,10));

snake_list.add(new Point(11,10));

snake_list.add(new Point(12,10));

snake_list.add(new Point(13,10));

snake_list.add(new Point(14,10));

this.rand_bean();

this.setTitle("总分:0");

this.setVisible(true);

}

//该方法随机一个豆子,且不在蛇体上,并使豆子可见

public void rand_bean(){

Random rd=new Random();

do{

bean.x=rd.nextInt(20);//行

bean.y=rd.nextInt(20);//列

}while(snake_list.contains(bean));

grid[bean.x][bean.y].setVisible(true);

grid[bean.x][bean.y].setBackground(Color.red);

}

//判断拟增蛇头是否与自身有碰撞

public boolean is_cross(Point p){

boolean Flag=false;

for(int i=0;i

if(p.equals(snake_list.get(i) )){

Flag=true;break;

}

}

return Flag;

}

//判断蛇即将前进位置是否有豆子,有返回true,无返回false

public boolean isHaveBean(){

boolean Flag=false;

int x=snake_list.get(0).x;

int y=snake_list.get(0).y;

Point p=null;

if(Direction==1)p=new Point(x-1,y);我爱编程网

if(Direction==2)p=new Point(x+1,y);

if(Direction==3)p=new Point(x,y-1);

if(Direction==4)p=new Point(x,y+1);

if(bean.equals(p))Flag=true;

return Flag;

}

//前进一格

public void snake_move(){

if(isHaveBean()==true){//////////////有豆子吃

Point p=new Point(bean.x,bean.y);//【很重要,保证吃掉的是豆子的复制对象】

snake_list.add(0,p); //吃豆子

grid[p.x][p.y].setBackground(Color.blue);

this.Count++;

this.setTitle("总分:"+Count);

this.rand_bean(); //再产生一个豆子

}else{///////////////////无豆子吃

//取原蛇头坐标

int x=snake_list.get(0).x;

int y=snake_list.get(0).y;

//根据蛇头坐标推算出拟新增蛇头坐标

Point p=null;

if(Direction==1)p=new Point(x-1,y);//计算出向上的新坐标

if(Direction==2)p=new Point(x+1,y);//计算出向下的新坐标

if(Direction==3)p=new Point(x,y-1);//计算出向左的新坐标

if(Direction==4)p=new Point(x,y+1);//计算出向右的新坐标

//若拟新增蛇头碰壁,或缠绕则游戏结束

if(p.x<0||p.x>19|| p.y<0||p.y>19||is_cross(p)==true){

JOptionPane.showMessageDialog(null, "游戏结束!");

System.exit(0);

}

//向蛇体增加新的蛇头坐标,并使新蛇头可见

snake_list.add(0,p);

grid[p.x][p.y].setVisible(true);

//删除原蛇尾坐标,使蛇尾不可见

int x1=snake_list.get(snake_list.size()-1).x;

int y1=snake_list.get(snake_list.size()-1).y;

grid[x1][y1].setVisible(false);

snake_list.remove(snake_list.size()-1);

}

}

@Override

public void keyPressed(KeyEvent e) {

if(e.getKeyCode()==KeyEvent.VK_UP && Direction!=2) Direction=1;

if(e.getKeyCode()==KeyEvent.VK_DOWN && Direction!=1) Direction=2;

if(e.getKeyCode()==KeyEvent.VK_LEFT && Direction!=4) Direction=3;

if(e.getKeyCode()==KeyEvent.VK_RIGHT && Direction!=3) Direction=4;

}

@Override

public void keyReleased(KeyEvent e) { }

@Override

public void keyTyped(KeyEvent e) { }

public static void main(String[] args) throws InterruptedException {

Snake win=new Snake();

while(true){

win.snake_move();

Thread.sleep(300);

}

}

}

求个简单点的Java程序 100行左右。 需要解释。(求一非常简单的java 程序?)

求一非常简单的java 程序?

第一题:

import java.util.Scanner;

public class CountDate {

public static void main(String[] args) {

Scanner s = new Scanner(System.in);

System.out.println("解放军战士连续作战的小时数:");

int hours = s.nextInt();

System.out.print("解放军战士连续作战");

if(hours <= 0)

System.out.println("解放军战士没奋战啊。。。。。");

if(hours / 24 > 0)

System.out.print((hours / 24) + "天");

if(hours % 24 > 0)

System.out.print((hours % 24) + "小时");

}

}

第二题

import java.util.Scanner;

public class GetNumResult {

public static void main(String[] args) {

Scanner s = new Scanner(System.in);

System.out.println("请输入一个整数:");

int num = s.nextInt();

for(int i = 1; i <= 10; i ++){

System.out.println(num + " * " + i + " = " + (i * num));

}

}

}

求个简单点的Java程序 100行左右。 需要解释。(求一非常简单的java 程序?)

求一个简单的java程序

我理解的你的要求就是说~~“客户端输入账户名信息和转账数额信息,然后服务端可以接收到”这样就可以了,不知道有没有理解错。我编了一个最简单、最基本的聊天程序,可以实现基本的聊天功能,所以,当然也能满足你的要求了。

程序中有一个包“aaa”,包中有三个文件:主类liaotian.java,线程xcfasong.java,线程xcjianting.java。

在这里贴出其中的liaotian.java的代码,你如果觉得需要的话可以百度HI联系我,我将剩余的内容都给你(在这里贴的话可能不能全贴上。但你放心,真的是一个非常简单的程序而已,你绝对会用的)。

liaotian.java的代码如下:

package aaa;

import java.awt.BorderLayout;

import javax.swing.JPanel;

import javax.swing.JFrame;

import java.awt.Dimension;

import javax.swing.JTextArea;

import java.awt.Rectangle;

import java.awt.ComponentOrientation;

import javax.swing.JScrollPane;

import javax.swing.JLabel;

import java.awt.Font;

import javax.swing.JButton;

import java.net.*;

import java.io.*;

public class liaotian extends JFrame {

private static final long serialVersionUID = 1L;

private JPanel jContentPane = null;

private JTextArea jTextArea = null;

private JScrollPane jScrollPane = null;

private JLabel jLabel = null;

private JLabel jLabel1 = null;

private JTextArea jTextArea1 = null;

private JScrollPane jScrollPane1 = null;

private JButton jButton = null;

////以下为自定义变量:

public static liaotian lt1;

public String strfa=new String(""); ///注意区分=“”和new String("")的区别!!后者才创建了具体的对象!前者没有!

public String strshou=new String(""); // @jve:decl-index=0:

/**

* This is the default constructor

*/

public liaotian() {

super();

initialize();

}

/**

* This method initializes this

*

* @return void

*/

private void initialize() {

this.setSize(459, 443);

this.setResizable(false);

this.setContentPane(getJContentPane());

this.setTitle("番薯聊天");

this.setVisible(true);

this.addWindowListener(new java.awt.event.WindowAdapter() {

public void windowClosing(java.awt.event.WindowEvent e) {

System.exit(0);

}

public void windowOpened(java.awt.event.WindowEvent e) {

xcjianting xjt=new xcjianting();

Thread tjt=new Thread(xjt);

tjt.start();

}

});

}

/**

* This method initializes jContentPane

*

* @return javax.swing.JPanel

*/

private JPanel getJContentPane() {

if (jContentPane == null) {

jLabel1 = new JLabel();

jLabel1.setBounds(new Rectangle(15, 300, 76, 26));

jLabel1.setFont(new Font("Dialog", Font.BOLD, 18));

jLabel1.setText("我要说:");

jLabel = new JLabel();

jLabel.setBounds(new Rectangle(15, 10, 95, 26));

jLabel.setFont(new Font("Dialog", Font.BOLD, 18));

jLabel.setText("聊天记录:");

jContentPane = new JPanel();

jContentPane.setLayout(null);

jContentPane.add(getJScrollPane(), null);

jContentPane.add(jLabel, null);

jContentPane.add(jLabel1, null);

jContentPane.add(getJScrollPane1(), null);

jContentPane.add(getJButton(), null);

}

return jContentPane;

}

/**

* This method initializes jTextArea

*

* @return javax.swing.JTextArea

*/

private JTextArea getJTextArea() {

if (jTextArea == null) {

jTextArea = new JTextArea();

jTextArea.setRows(0);

jTextArea.setColumns(0);

jTextArea.setComponentOrientation(ComponentOrientation.LEFT_TO_RIGHT);

jTextArea.setEnabled(true);

jTextArea.setFont(new Font("Dialog", Font.BOLD, 14));

jTextArea.setEditable(false);

jTextArea.setLineWrap(true);

}

return jTextArea;

}

/**

* This method initializes jScrollPane

*

* @return javax.swing.JScrollPane

*/

private JScrollPane getJScrollPane() {

if (jScrollPane == null) {

jScrollPane = new JScrollPane();

jScrollPane.setBounds(new Rectangle(15, 37, 257, 242));

jScrollPane.setViewportView(getJTextArea());

}

return jScrollPane;

}

/**

* This method initializes jTextArea1

*

* @return javax.swing.JTextArea

*/

private JTextArea getJTextArea1() {

if (jTextArea1 == null) {

jTextArea1 = new JTextArea();

jTextArea1.setLineWrap(true);

}

return jTextArea1;

}

/**

* This method initializes jScrollPane1

*

* @return javax.swing.JScrollPane

*/

private JScrollPane getJScrollPane1() {

if (jScrollPane1 == null) {

jScrollPane1 = new JScrollPane();

jScrollPane1.setBounds(new Rectangle(15, 328, 257, 68));

jScrollPane1.setViewportView(getJTextArea1());

}

return jScrollPane1;

}

/**

* This method initializes jButton

*

* @return javax.swing.JButton

*/

private JButton getJButton() {

if (jButton == null) {

jButton = new JButton();

jButton.setBounds(new Rectangle(300, 364, 77, 32));

jButton.setFont(new Font("Dialog", Font.BOLD, 18));

jButton.setText("发送");

jButton.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent e) {

strfa=jTextArea1.getText();

xcfasong xfs=new xcfasong();

Thread tfs=new Thread(xfs);

tfs.start();

lt1.shuaxinjta(strfa);

jTextArea1.setText("");

}

});

}

return jButton;

}

////添加程序主入口:

public static void main(String args[]){

lt1=new liaotian();

/*

* //彻底掌握在Eclipse可视化编程中添加主入口方法的步骤:

* 1.定义本类对象(成员变量、Static);

* 2.入口方法赋值;

* 3.原文代码中添加,使“visible”属性为“true”。

*/

}

///添加自定义方法,刷新聊天记录:

public void shuaxinjta(String str){

/////切记:用的是equals,而不是==,==是指引用的比较!!

if (jTextArea.getText().equals("")){

jTextArea.setText(str+"\r\n");

}

else{

jTextArea.setText(jTextArea.getText()+"\r\n"+str+"\r\n");

}

}

} // @jve:decl-index=0:visual-constraint="10,10"

以上,就是我爱编程网小编给大家带来的求个简单点的Java程序 100行左右。 需要解释。(求一非常简单的java 程序?)全部内容,希望对大家有所帮助!
与“求个简单点的Java程序 100行左右。 需要解释。(求一非常简单的java 程序?)”相关推荐