当前位置:首页 > 代码 > 正文

包含java经典代码100的词条

admin 发布:2022-12-19 22:46 132


本篇文章给大家谈谈java经典代码100,以及对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

求一个简单的JAVA游戏代码,100行左右,谢谢!

import java.awt.Dimension;

import java.awt.Graphics;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JPanel;

public class Painter extends JFrame{

/**

*

*/

private static final long serialVersionUID = 8160427604782702376L;

CanvasPanel canvas = new CanvasPanel();;

public Painter() {

super("Star");

this.add(canvas);

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

this.pack();

this.setResizable(false);

this.setLocationRelativeTo(null);

this.setVisible(true);

}

public static void main(String[] args) {

new Painter();

}

}

class CanvasPanel extends JPanel implements ActionListener{

/**

*

*/

private static final long serialVersionUID = -4642528854538741028L;

private JButton[] btn = new JButton[4];

private String[] btn_name = {"+", "-", "R", "L"};

private int center_x = 200, center_y = 200, radius = 100, degree = 0;

public CanvasPanel() {

this.setPreferredSize(new Dimension(400, 500));

this.setLayout(null);

for(int i = 0; i 4; i++) {

btn[i] = new JButton(btn_name[i]);

btn[i].setBounds(160 + i * 60, 425, 50, 50);

btn[i].addActionListener(this);

this.add(btn[i]);

}

}

@Override

public void paintComponent(Graphics g) {

super.paintComponent(g);

for(int i = 0; i 5; i++) {

g.drawLine( (int) (center_x + radius * Math.sin(Math.toRadians(degree + 72 * i))),

(int) (center_y - radius * Math.cos(Math.toRadians(degree + 72 * i))),

(int) (center_x + radius * Math.sin(Math.toRadians(degree + 72 * i + 144))),

(int) (center_y - radius * Math.cos(Math.toRadians(degree + 72 * i + 144))));

}

}

public void actionPerformed(ActionEvent e) {

// TODO Auto-generated method stub

if(e.getActionCommand() == "+") {

if(radius 200)

radius += 2;

repaint();

} else if(e.getActionCommand() == "-") {

if(radius 0)

radius -= 2;

repaint();

} else if(e.getActionCommand() == "R") {

degree = (degree + 2) % 360;

repaint();

} else if(e.getActionCommand() == "L") {

degree = (degree - 2) % 360;

repaint();

}

}

}

求个简单点的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];

ArrayListPoint snake_list=new ArrayListPoint();

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;i20;i++)

for(int j=0;j20;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;isnake_list.size();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.x0||p.x19|| p.y0||p.y19||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分拆成四个整数之和,一共有多少种拆法?

如果没有负整数,一共有 8037 种拆法。

源码:

import java.io.FileWriter;

import java.io.IOException;

import java.util.Arrays;

import java.util.Set;

import java.util.TreeSet;

public class Main {

public final static int Sum = 100;

static SetString Combinations = new TreeSet();

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

for (int i1 = 0; i1 = Sum; i1++) {

for (int i2 = 0; i2 = Sum; i2++) {

for (int i3 = 0; i3 = Sum; i3++) {

for (int i4 = 0; i4 = Sum; i4++) {

String s = GetString(new int[] {i1, i2, i3, i4});

if (CheckNumbers(i1, i2, i3, i4)) {

Combinations.add(s);

}

}

}

}

}

System.out.println(Combinations);

System.out.println(Combinations.size());

FileWriter writer = new FileWriter("results.json");

writer.write(Combinations.toString());

writer.flush();

writer.close();

}

public static String GetString(int[] numbers) {

sort(numbers, 0, 3);

return Arrays.toString(numbers);

}

public static void sort(int[] arr,int begin,int end) {

int a = begin;

int b = end;

if (a = b) return;

int x = arr[a];

while (a b) {

while (a b arr[b] = x) b--;

if (a b) {

arr[a] = arr[b];

a++;

}

while (a b arr[a] = x) a++;

if (a b) {

arr[b] = arr[a];

b--;

}

}

arr[a] = x;

sort(arr,begin,a-1);

sort(arr,a+1,end);

}

public static boolean CheckNumbers(int i1, int i2, int i3, int i4) {

return (i1 + i2 + i3 + i4) == Sum;

}

}

java线程的经典代码

package threadgroup;

class ThreadDemo3 extends Thread {

private String name;

private int delay;

public ThreadDemo3(String sname, int i_delay) {

name = sname;

delay = i_delay;

}

public void run() {

try {

sleep(delay);

} catch (InterruptedException e) {

}

System.out.println("多线程测试!\n" + name + "\n" + delay);

}

}

public class testMyThread {

public static void main(String[] args) {

ThreadDemo3 th1,th2,th3;

th1 = new ThreadDemo3("线程1", (int) (Math.random() * 900));

th2 = new ThreadDemo3("线程2", (int) (Math.random() * 900));

th3 = new ThreadDemo3("线程3", (int) (Math.random() * 900));

th1.start();

th2.start();

th3.start();

}

}

package threadgroup;

public class threadDemo {

public static void main(String[] args) {

Thread t = Thread.currentThread();

t.setName("你好吗?");

System.out.println("正在进行的Thread是:" + t);

try {

for (int i = 0; i 5; i++) {

System.out.println("我不叫穆继超" + i);

Thread.sleep(3000);

}

} catch (Exception e) {

// TODO: handle exception

System.out.println("Thread has wrong" + e.getMessage());

}

}

}

package threadgroup;

public class threadDemo2 implements Runnable {

public threadDemo2() {

Thread t1 = Thread.currentThread();

t1.setName("第一个主进程");

System.out.println("正在运行" + t1);

Thread t2 = new Thread(this, "");

System.out.println("在创建一个进程");

t2.start();

try {

System.out.println("使他进入第一个睡眠状态");

Thread.sleep(2000);

} catch (InterruptedException e) {

System.out.println("Thread has wrong" + e.getMessage());

}

System.out.println("退出第一个进程");

}

public void run() {

try {

for (int i = 0; i 5; i++) {

System.out.println("进程" + i);

Thread.sleep(3000);

}

} catch (InterruptedException e) {

// TODO: handle exception

System.out.println("Thread has wrong" + e.getMessage());

}

System.out.println("退出第二个进程");

}

public static void main(String[] args) {

new threadDemo2();

}

}

java程序100行

package soyea.base.util;

import java.lang.reflect.Field;

import java.lang.reflect.Method;

import java.util.Arrays;

import java.util.List;

import soyea.base.bean.physics.ChargeSite;

/**

* 反射类,获取对象属性值,设置对象属性值等操作

*/

public class ClassReflect {

/**

* 用于获取指定对象不确定属性名的值 反射机制

* @param object 实体对象

* @param str 属性名

* @return 属性值

* @throws Exception

*/

public static Object get(Object object,String str) throws Exception {

Field field = hasEqualsIgnoreCase(object.getClass(),str);

if(field != null){

Method m = object.getClass().getMethod("get"+getMethodName(str));

Object invoke = m.invoke(object);

if(invoke == null){

return null;

}else{

return invoke.toString();

}

}else{

return null;

}

}

/**

* 设置对象属性

* @param object

* @param str

* @return

* @throws Exception

*/

public static void set(Object object,String property,Object value) throws Exception {

Field field = hasEqualsIgnoreCase(object.getClass(),property) ;

if(field != null){

Method m = object.getClass().getDeclaredMethod("set"+getMethodName(property),field.getType());

if(value!=null){

m.invoke(object,value);

}

}

}

/**

* @param clz 类文件

* @param str 类中的属性名

* @return 属性在liest中的下标

* @throws Exception

*/

public static Field hasEqualsIgnoreCase(Class? clz,String str) throws Exception{

ListField fields = Arrays.asList(clz.getDeclaredFields());

for(int i=0;ifields.size();i++){

Field x = fields.get(i);

if(str.equalsIgnoreCase(x.getName().toString())){

return x;

}

}

return null;

}

/**

* 大写第一个字母

* @param str 字段名

* @return

* @throws Exception

*/

public static String getMethodName(String str) throws Exception{

byte[] b = str.getBytes();

b[0]=(byte)((char)b[0]-'a'+'A');

return new String(b);

}

public static void resetObj(Object obj, String property)

throws Exception {

String gbk = Encoder.getByCode(obj, property);

if(gbk != null gbk.trim().length()0){

try {

ClassReflect.set(obj, property, gbk);

} catch (Exception e) {

e.printStackTrace();

}

}

}

public static void resetAllObjPropertiesByCode(Object obj)

throws Exception {

Field[] fields = obj.getClass().getDeclaredFields();

for(int i=0;ifields.length;i++){

Field f = fields[i];

String name = f.getName();

if("id".equals(name)){

continue;

}

resetObj(obj, name);

}

}

}

Java求100以内的质数的小代码!

1、设计实现:通过for循环输出,使用break跳出。

(1)需求:输出1~100的所有素数。

(2)素数:

--判断条件1:只能被1和本身整除的称为素数。

--判断条件2:在区间(1,x/2)中找不到能整除素数x的整数。

--判断条件3:在区间(1,sqrt(x))中找不到能整除素数x的整数。

(3)完整代码如下:

2、if(b)语句解析:是否是质数的标志,是就输出 。

b的值写在if (n % i == 0){  b = false; }中。这就是质数的判断发发(即如果有能被整除的,则不是质数 ),判断结束后给b赋值,如果为真就通过if语句输出,如果为假则跳过循环(break)。

扩展资料:

java中break函数:用于switch语句当中,用于终止语句。

试验代码如下:

输出:

参考资料:

百度百科--break

关于java经典代码100和的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

版权说明:如非注明,本站文章均为 AH站长 原创,转载请注明出处和附带本文链接;

本文地址:http://ahzz.com.cn/post/28366.html


取消回复欢迎 发表评论:

分享到

温馨提示

下载成功了么?或者链接失效了?

联系我们反馈

立即下载