JAVA程序代码(20)

合集下载

java顺序表的基本操作代码

java顺序表的基本操作代码

java顺序表的基本操作代码Java顺序表是一种基于数组实现的线性结构,具有随机访问、元素插入和删除等基本操作。

在Java中,我们可以通过定义一个数组来创建一个顺序表,并通过编写一些基本操作代码来实现对该顺序表的操作。

一、顺序表的定义和初始化在Java中,我们可以通过定义一个数组来创建一个顺序表。

下面是一个简单的代码示例:```public class SeqList<T> {private Object[] elementData; // 存储元素的数组private int size; // 当前元素个数// 构造函数public SeqList(int capacity) {elementData = new Object[capacity];size = 0;}}```在上述代码中,我们定义了一个SeqList类,其中包含了存储元素的数组elementData和当前元素个数size两个成员变量。

构造函数SeqList(int capacity)用于创建指定长度为capacity的数组,并将当前元素个数初始化为0。

二、顺序表的插入操作1. 在指定位置插入元素在Java中,我们可以通过下标来访问数组中的元素。

因此,在进行插入操作时,需要先将要插入位置之后的所有元素向后移动一位,然后再将新元素插入到指定位置上。

下面是一个简单的代码示例:```// 在指定位置插入元素public void insert(int index, T element) {if (index < 0 || index > size) {throw new IndexOutOfBoundsException("插入位置越界"); }// 判断数组是否已满,若已满则扩容if (size == elementData.length) {ensureCapacity(size * 2);}// 将要插入位置之后的所有元素向后移动一位for (int i = size - 1; i >= index; i--) {elementData[i + 1] = elementData[i];}// 插入新元素elementData[index] = element;size++;}// 扩容方法private void ensureCapacity(int minCapacity) {if (minCapacity > elementData.length) {Object[] newArray = new Object[minCapacity];System.arraycopy(elementData, 0, newArray, 0, size);elementData = newArray;}}```在上述代码中,我们首先判断要插入的位置是否越界。

java基础代码大全

java基础代码大全

/*1. 打印:--------------------------------------------------2. 求两个浮点数之商。

3. 对一个数四舍五入取整。

4. 判断一个数是否为奇数5. 求一个数的绝对值。

6. 求两个数的最大值。

7. 求三个数的最大值。

8. 求1-n之和。

9. 求1-n中的奇数之和。

10. 打印自2012年起,n年内的所有闰年。

11. 打印n行星号组成的等腰三角形。

12. 求两个正整数的最小公倍数。

13. 判断一个数是否为质数。

14. 求两个正整数的最大公约数。

15. 求一个正整数n以内的质数。

16. 求一个正整数n以内的质数。

17. 分别利用递推算法和递归算法求n! 。

*/class A{static void f(){System.out.println("----------------------");//1.打印:-----------}static double quzheng(double a){int b;System.out.println((b=(int)(a+0.5)));//2.求两个浮点数之商。

return(b);}static double qiushang(double a,double b){ //3.对一个数四舍五入取整System.out.println((a/b));return(a/b);}static boolean odd(int c){ //4.判断一个数是否为奇数if(c%2==0){return(false);}else{return(true);}}static int juedui(int d){ //5.求一个数的绝对值。

if(d<0){d=0-d;System.out.println(d);else{d=d;System.out.println(d);}return(d);}static int max(int e,int f){ //6.求两个数的最大值。

20个java案例

20个java案例

20个java案例以下是20个Java案例,涵盖了不同的主题和功能。

每个案例都有一个简要的描述和示例代码。

1. 计算两个数的和。

描述,编写一个程序,计算两个整数的和并输出结果。

示例代码:java.int num1 = 10;int num2 = 5;int sum = num1 + num2;System.out.println("两个数的和为," + sum);2. 判断一个数是否为偶数。

描述,编写一个程序,判断一个整数是否为偶数,并输出结果。

示例代码:java.int num = 6;if (num % 2 == 0) {。

System.out.println(num + "是偶数。

");} else {。

System.out.println(num + "不是偶数。

");}。

3. 求一个数的阶乘。

描述,编写一个程序,计算一个正整数的阶乘,并输出结果。

示例代码:java.int num = 5;int factorial = 1;for (int i = 1; i <= num; i++) {。

factorial = i;}。

System.out.println(num + "的阶乘为," + factorial);4. 判断一个字符串是否为回文字符串。

描述,编写一个程序,判断一个字符串是否为回文字符串,并输出结果。

示例代码:java.String str = "level";boolean isPalindrome = true;for (int i = 0; i < str.length() / 2; i++) {。

if (str.charAt(i) != str.charAt(str.length() 1 i)) {。

isPalindrome = false;break;}。

java贪吃蛇 代码

java贪吃蛇 代码

代码:一:::::::public class Cell {// 格子:食物或者蛇的节点private int x;private int y;private Color color;// 颜色public Cell() {}public Cell(int x, int y) {this.x = x;this.y = y;}public Cell(int x, int y, Color color) { this.color = color;this.x = x;this.y = y;}public Color getColor() {return color;}public int getX() {return x;}public int getY() {return y;}public String toString() {return"[" + x + "]" + "[" + y + "]";}}二::::::::::public class Worm {private int currentDirection;// 蛇包含的格子private Cell[] cells;private Color color;public static final int UP = 1;public static final int DOWN = -1;public static final int RIGHT = 2;public static final int LEFT = -2;// 创建对象创建默认的蛇:(0,0)(1,0)(2,0)······(11,0)public Worm() {// 构造器初始化对象color = Color.pink;// 蛇的颜色cells = new Cell[12];// 创建数组对象for (int x = 0, y = 0, i = 0; x < 12; x++) { // for(int y=0;;){}cells[i++] = new Cell(x, y, color);// 添加数组元素}currentDirection = DOWN;}public boolean contains(int x, int y) {// 数组迭代for (int i = 0; i < cells.length; i++) {Cell cell = cells[i];if (cell.getX() == x && cell.getY() == y) {return true;}}return false;}public String toString() {return Arrays.toString(cells);}public void creep() {for (int i = this.cells.length - 1; i >= 1; i--) {cells[i] = cells[i - 1];}cells[0] = createHead(currentDirection);}// 按照默认方法爬一步private Cell createHead(int direction) {// 根据方向,和当前(this)的头结点,创建新的头结点int x = cells[0].getX();int y = cells[0].getY();switch (direction) {case DOWN:y++;break;case UP:y--;break;case RIGHT:x++;break;case LEFT:x--;break;}return new Cell(x, y);}/*** food 食物**/public boolean creep(Cell food) {Cell head = createHead(currentDirection);boolean eat = head.getX() == food.getX() && head.getY() == food.getY();if (eat) {Cell[] ary = Arrays.copyOf(cells, cells.length + 1);cells = ary;// 丢弃原数组}for (int i = cells.length - 1; i >= 1; i--) { cells[i] = cells[i - 1];}cells[0] = head;return eat;}// 吃到东西就变长一格public boolean creep(int direction, Cell food) {if (currentDirection + direction == 0) {return false;}this.currentDirection = direction;Cell head = createHead(currentDirection);boolean eat = head.getX() == food.getX() && head.getY() == food.getY();if (eat) {Cell[] ary = Arrays.copyOf(cells, cells.length + 1);cells = ary;// 丢弃原数组}for (int i = cells.length - 1; i >= 1; i--) { cells[i] = cells[i - 1];}cells[0] = head;return eat;}// 检测在新的运动方向上是否能够碰到边界和自己(this 蛇)public boolean hit(int direction) {// 生成下个新头节点位置// 如果新头节点出界返回true,表示碰撞边界// ···············if (currentDirection + direction == 0) {return false;}Cell head = createHead(direction);if(head.getX() < 0 || head.getX() >= WormStage.COLS || head.getY() < 0|| head.getY() >= WormStage.ROWS) {return true;}for (int i = 0; i < cells.length - 1; i++) { if (cells[i].getX() == head.getX()&& cells[i].getY() == head.getY()) {return true;}}return false;}public boolean hit() {return hit(currentDirection);}// 为蛇添加会制方法// 利用来自舞台面板的画笔绘制蛇public void paint(Graphics g) {g.setColor(this.color);for (int i = 0; i < cells.length; i++) {Cell cell = cells[i];g.fill3DRect(cell.getX() * WormStage.CELL_SIZE, cell.getY()* WormStage.CELL_SIZE, WormStage.CELL_SIZE,WormStage.CELL_SIZE, true);}}}三:::::::::public class WormStage extends JPanel {/** 舞台的列数 */public static final int COLS = 35;/** 舞台的行数 */public static final int ROWS = 35;/** 舞台格子的大小 */public static final int CELL_SIZE = 10;private Worm worm;private Cell food;public WormStage() {worm = new Worm();food = createFood();}/*** 随机生成食物,要避开蛇的身体 1 生成随机数 x, y 2 检查蛇是否包含(x,y)* 3 如果包含(x,y) 返回 1 4 创建食物节点* */private Cell createFood() {Random random = new Random();int x, y;do {x = random.nextInt(COLS);// COLS列数y = random.nextInt(ROWS);// WOWS行数} while (worm.contains(x, y));return new Cell(x, y, Color.green);// 食物颜色/** 初始化的舞台单元测试 */public static void test() {WormStage stage = new WormStage();System.out.println(stage.worm);System.out.println(stage.food);}/*** 重写JPanel绘制方法paint:绘制,绘画,涂抹Graphics 绘图,* 理解为:绑定到当前面板的画笔*/public void paint(Graphics g) {// 添加自定义绘制!// 绘制背景g.setColor(Color.darkGray);// 背景色g.fillRect(0, 0, getWidth(), getHeight());g.setColor(Color.cyan);// 边框上的颜色// draw 绘制 Rect矩形g.drawRect(0, 0, this.getWidth() - 1, this.getHeight() - 1);// 绘制食物g.setColor(food.getColor());// fill 填充 3D 3维 Rect矩形突起的立体按钮形状g.fill3DRect(food.getX() * CELL_SIZE, food.getY() * CELL_SIZE,CELL_SIZE, CELL_SIZE, true);// 绘制蛇worm.paint(g);// 让蛇自己去利用画笔绘制private Timer timer;/*** 启动定时器驱动蛇的运行 1 检查碰撞是否将要发生* 2 如果发生碰撞:创建新的蛇和食物,重写开始* 3 如果没有碰撞就爬行,并检查是否能够吃到食物* 4如果吃到食物:重新创建新的食物* 5 启动重新绘制界面功能 repaint() 更新界面显示效果! repaint()* 方法会尽快调用paint(g) 更新界面!*/private void go() {if (timer == null)timer = new Timer();timer.schedule(new TimerTask() {public void run() {if (worm.hit()) {// 如果蛇碰到边界或自己worm = new Worm();// 创建新的蛇food = createFood();// 创建新食物} else {// 如果没有碰到自己boolean eat = worm.creep(food);// 蛇向前(当前方向)爬行,返回结果表示是否吃到食物if(eat) {// 如果吃到食物,就生成新食物food = createFood();}}repaint();}}, 0, 1000 / 5);this.requestFocus();this.addKeyListener(new KeyAdapter() {public void keyPressed(KeyEvent e) {int key = e.getKeyCode();switch (key) {case KeyEvent.VK_UP:creepForFood(Worm.UP);break;case KeyEvent.VK_DOWN:creepForFood(Worm.DOWN);break;case KeyEvent.VK_LEFT:creepForFood(Worm.LEFT);break;case KeyEvent.VK_RIGHT:creepForFood(Worm.RIGHT);break;}}});}private void creepForFood(int direction) { if (worm.hit(direction)) {worm = new Worm();food = createFood();} else {boolean eat = worm.creep(direction, food);if (eat) {food = createFood();}}}/** 软件启动的入口方法 */public static void main(String[] args) {// 启动软件....JFrame frame = new JFrame("贪吃蛇");// 一个画框对象frame.setSize(450, 480);// size 大小,setSize 设置大小// frame.setLocation(100,50);//Locationq位置frame.setLocationRelativeTo(null);// 居中// 设置默认的关闭操作为在关闭时候离开软件frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.setVisible(true);// Visible可见的设置可见性frame.setLayout(null);// 关闭默认布局管理,避免面板充满窗口WormStage stage = new WormStage();// System.out.println("CELL_SIZE * COLS:"+CELL_SIZE * COLS);stage.setSize(CELL_SIZE* COLS, CELL_SIZE* ROWS);stage.setLocation(40, 50);stage.setBorder(new LineBorder(Color.BLACK));frame.add(stage);// 在窗口添加舞台stage.go();// 启动定时器驱动蛇自动运行}}。

JAVA中经典快捷键(必看)和一些程序代码

JAVA中经典快捷键(必看)和一些程序代码

Eclipse 常用快捷键Eclipse的编辑功能非常强大,掌握了Eclipse快捷键功能,能够大大提高开发效率。

Eclipse中有如下一些和编辑相关的快捷键。

1. 【ALT+/】此快捷键为用户编辑的好帮手,能为用户提供内容的辅助,不要为记不全方法和属性名称犯愁,当记不全类、方法和属性的名字时,多体验一下【ALT+/】快捷键带来的好处吧。

2. 【Ctrl+O】显示类中方法和属性的大纲,能快速定位类的方法和属性,在查找Bug时非常有用。

3. 【Ctrl+/】快速添加注释,能为光标所在行或所选定行快速添加注释或取消注释,在调试的时候可能总会需要注释一些东西或取消注释,现在好了,不需要每行进行重复的注释。

4. 【Ctrl+D】删除当前行,这也是笔者的最爱之一,不用为删除一行而按那么多次的删除键。

5. 【Ctrl+M】窗口最大化和还原,用户在窗口中进行操作时,总会觉得当前窗口小(尤其在编写代码时),现在好了,试试【Ctrl+M】快捷键。

查看和定位快捷键在程序中,迅速定位代码的位置,快速找到Bug的所在,是非常不容易的事,Eclipse 提供了强大的查找功能,可以利用如下的快捷键帮助完成查找定位的工作。

1. 【Ctrl+K】、【Ctrl++Shift+K】快速向下和向上查找选定的内容,从此不再需要用鼠标单击查找对话框了。

2. 【Ctrl+Shift+T】查找工作空间(Workspace)构建路径中的可找到Java类文件,不要为找不到类而痛苦,而且可以使用“*”、“?”等通配符。

3. 【Ctrl+Shift+R】和【Ctrl+Shift+T】对应,查找工作空间(Workspace)中的所有文件(包括Java文件),也可以使用通配符。

4. 【Ctrl+Shift+G】查找类、方法和属性的引用。

这是一个非常实用的快捷键,例如要修改引用某个方法的代码,可以通过【Ctrl+Shift+G】快捷键迅速定位所有引用此方法的位置。

JAVA语言程序设计清华大学出版社书上例题源代码第二章

JAVA语言程序设计清华大学出版社书上例题源代码第二章

【2_1】//计算二个数的和class Example2_1 {public static void main(String args[]) {int x,y,s;x = 3;y = 5;s =x+y; //求和System.out.println("二数之和为:" + s);}}【2_2】//计算圆的面积class Example2_2 {public static void main(String args[]) {double pi,r,s;r = 10.8; //圆的半径pi = 3.1416;s = pi * r * r; //计算面积System.out.println("圆的面积为:" + s);}}【2_3】/* char 变量的用法*/class Example2_3 {public static void main(String args[]) {char ch1,ch2;ch1 = 88; // code for Xch2 = 'Y';System.out.print("ch1 and ch2:");System.out.println(ch1 + " " + ch2);}}【2_4】/* 布尔类型的用法*/class Example2_4 {public static void main(String args[]) {boolean b;b = false;System.out.println("b is " + b);b = true;System.out.println("b is " + b);// outcome of a relational operator is a boolean valueSystem.out.println("10 > 9 is " + (10 > 9));}}【2_5】public class Example2_5{public static void main(String[] agrs){//定义几个变量并赋值int a=41;int b=21;double x=6.4;double y=3.22;System.out.println("变量数值:");System.out.println("a="+a);System.out.println("b="+b);System.out.println("x="+x);System.out.println("y="+y);//加法System.out.println("加:");System.out.println("a+b="+(a+b));System.out.println("x+y="+(x+y));//减法System.out.println("减:");System.out.println("a-b="+(a-b));System.out.println("x-y="+(x-y));//乘法System.out.println("乘:");System.out.println("a*b="+(a*b));System.out.println("x*y="+(x*y));//除法System.out.println("除:");System.out.println("a/b="+(a/b));System.out.println("x/y="+(x/y));//从除法中求得余数System.out.println("计算余数:");System.out.println("a%b="+(a%b));System.out.println("x%y="+(x%y));//混合类型System.out.println("混合类型:");System.out.println("b+y="+(b+y));System.out.println("a*x="+(a*x));}}public class Example2_6{public static void main(String[] args){//定义若干整型数int i=37;int j=42;int k=42;System.out.println("变量数值");System.out.println("i="+i);System.out.println("j="+j);System.out.println("k="+k);//大于System.out.println("大于:");System.out.println("i>j="+(i>j));//falseSystem.out.println("j>i="+(j>i));//trueSystem.out.println("k>j="+(k>j));//false//大于等于System.out.println("大于等于:");System.out.println("i>=j="+(i>=j));//falseSystem.out.println("j>=i="+(j>=i));//trueSystem.out.println("k>=j="+(k>=j));//true//小于System.out.println("小于:");System.out.println("i<j="+(i<j));//trueSystem.out.println("j<i="+(j<i));//falseSystem.out.println("k<j="+(k<j));//false//小于等于System.out.println("小于等于:");System.out.println("i<=j="+(i<=j));//trueSystem.out.println("j<=i="+(j<=i));//falseSystem.out.println("k<=j="+(k<=j));//false//等于System.out.println("等于:");System.out.println("i==j="+(i==j));//falseSystem.out.println("k==j="+(k==j));//true//不等于System.out.println("不等于:");System.out.println("i!=j="+(i!=j));//trueSystem.out.println("k!=j="+(k!=j));//false}}class Example2_7{public static void main(String args[]){//字符char a1='银',a2='行',a3='帐',a4='号';//密鈅char secret='x';//异或运算加密a1=(char)(a1^secret); a2=(char)(a2^secret);a3=(char)(a3^secret); a4=(char)(a4^secret);System.out.println("密文:"+a1+a2+a3+a4);//再一次异或运算解密a1=(char)(a1^secret); a2=(char)(a2^secret);a3=(char)(a3^secret); a4=(char)(a4^secret);System.out.println("原文:"+a1+a2+a3+a4);}}【2_8】/* if结构*/public class Example2_8{public static void main(String args[]){int a=9,b=5,c=7,t;if(a>b){t=a; a=b; b=t;}if(a>c){t=a; a=c; c=t;}if(b>c){t=b; b=c; c=t;}System.out.println("a="+a+",b="+b+",c="+c);}}/* if-else-if 结构. */class Example2_9 {public static void main(String args[]) {int month = 4; // 4月份String season;if(month == 12 || month == 1 || month == 2){season = "冬天";}else if(month == 3 || month == 4 || month == 5){season = "春天"; }else if(month == 6 || month == 7 || month == 8){season = "夏天"; }else if(month == 9 || month == 10 || month == 11){season = "秋天"; }else{ season = "不合法的月份"; }System.out.println("4月是" + season + ".");}}【2_10】/* switch开关语句*/import java.applet.*;import java.awt.*;public class Example2_10 extends Applet{public void paint(Graphics g){int x=1,y=1;switch(x+y){case 1 :g.setColor(Color.red);g.drawString("i am 1",5,10);break;case 2:g.setColor(Color.blue);g.drawString("i am 2",5,10);// break;case 3:g.setColor(Color.green);g.drawString("i am 3",5,10);break;default:g.drawString("没有般配的",5,10);}}/*<APPLET CODE="Example2_10.class" WIDTH="200" HEIGHT="300"></APPLET>*/【2_11】/* for循环*/import javax.swing.JOptionPane;public class Example2_11{public static void main(String[] args){ int sum=0;for(int i=1;i<=100;i++){sum=sum+i;}JOptionPane.showMessageDialog(null,"1+2+3+...+100= "+sum);System.exit(0); //退出程序}}【2_12】/* while循环*/import javax.swing.JOptionPane;public class Example2_12{public static void main(String[] args){int s=1, i=1;while(i<=10){s=s*i;i++;}JOptionPane.showMessageDialog(null,"1*2*3*...*10= "+s);System.exit(0); //退出程序}}/* do-while循环*/import java.applet.*;import java.awt.*;public class Example2_13 extends Applet{public void paint(Graphics g){int i=1;do{g.drawOval(110-i*10,110-i*10,i*20,i*20);i++;}while(i<=10);}}/*<APPLET CODE="Example2_13.class" WIDTH="300" HEIGHT="300"></APPLET>*/【2_14】/* 使用break语句跳出循环 */import javax.swing.JOptionPane;class Example2_14{public static void main(String args[]){for(int i=0; i<100; i++){if(i == 10) break; // i=10时跳出循环JOptionPane.showMessageDialog(null,"i="+i);}JOptionPane.showMessageDialog(null,"循环已经结束!");System.exit(0); //退出程序}}/* 使用break语句跳出内循环 */class Example2_15{public static void main(String args[]){for(int i=1; i<6; i++){for(int j=1;j<3; j++){if(i == 3) break; // i=5时跳出循环int sum=i+j;System.out.println(i+"+"+j+"="+sum);}}System.out.println("循环已经结束!");}}【2_16】/* 使用"标签化中断"的break语句跳出循环 */class Example2_16{public static void main(String args[]){out: for(int i=1; i<6; i++) //设置标号{for(int j=1;j<3; j++){if(i == 3) break out; // i=3时跳出循环int sum=i+j;System.out.println(i+"+"+j+"="+sum);}}System.out.println("循环已经结束!");}}【2_17】/*continue语句打印三角形*/import javax.swing.JOptionPane;class Example2_17 {public static void main(String args[]) {String output="";for(int i=0; i<5; i++) {for(int j=0; j<5; j++) {if(j > i) {continue ;}output= output +"*"+" ";}output=output+"\n";}JOptionPane.showMessageDialog(null,output);System.exit(0);}}【2_18】/* 求一组数字的平均值*/import javax.swing.JOptionPane;class Example2_18 {public static void main(String args[]) {double nums[] = {10.1, 11.2, 12.3, 13.4, 14.5};double result = 0;for(int i=0; i<5; i++){result = result + nums[i]; }JOptionPane.showMessageDialog(null,"平均值为:" + result / 5);System.exit(0);}}【2_19】// 二维数组赋值class Example2_19{public static void main(String args[]) {int twoD[][]= new int[4][5];int i, j, k = 0;for(i=0; i<4; i++)for(j=0; j<5; j++) {twoD[i][j] = k;k++;}for(i=0; i<4; i++) {for(j=0; j<5; j++)System.out.print(twoD[i][j] + " ");System.out.println();}}}【2_20】import java.util.*;class Example2_20{public static void main(String[] args){Vector v1 =new Vector();for (int i=1;i<10;i++){v1.addElement(" " + i);System.out.println(v1.toString());}v1.insertElementAt("abc",5);System.out.println("\n插入元素:"+v1.toString());}}【2_21】import java.util.*;public class Example2_21{ public static void main(String args[]){ String s="boy,java,Applet girl,Hat";StringTokenizer st=new StringTokenizer(s," ,"); //空格和逗号做分int number=st.countTokens();while(st.hasMoreTokens()){ String str=st.nextToken();System.out.println(str);}System.out.println("s共有单词:"+number+"个");}}。

JAVA 程序,经典20例

JAVA 程序,经典20例

****
自己写一个栈: ( 先进后出 )
建议底层用 LinkedList 实现
参照 java.util.Stack
方法: boolean empty() 测试堆栈是否为空。
E peek()
查看栈顶对象而不移除它。
E pop()
移除栈顶对象并作为此函数的值返回该对象。
E push(E item) 把项压入栈顶。
import java.util.LinkedList;
class MyStack<E>{
private LinkedList<E> list = new LinkedList<E>();
public boolean empty() {return list.isEmpty();}
public E peek()
正确答案
AnswerSheet 类 答卷类 属性:每道题的答案 提示:答卷中每道题的答案用 HashMap 存放,key 为 String,表示题号,value 为学生的答 案
问题:为 Exam 类添加一个方法,用来为所有学生判卷,并打印成绩排名(名次、姓名、成 绩) ******************************************************************************* ********/
{return list.peek(); }
public E pop() public void push(E o)
{return list.poll(); } {list.addFirst(o); }
//int indexOf(Object o) 返回此列表中首次出现的指定元素的索引,如果此列表中不 包含该元素,则返回 -1。

java常用代码(20条案例)

java常用代码(20条案例)

java常用代码(20条案例)1. 输出Hello World字符串public class Main {public static void main(String[] args) {// 使用System.out.println()方法输出字符串"Hello World"System.out.println("Hello World");}}2. 定义一个整型变量并进行赋值public class Main {public static void main(String[] args) {// 定义一个名为num的整型变量并将其赋值为10int num = 10;// 使用System.out.println()方法输出变量num的值System.out.println(num);}}3. 循环打印数字1到10public class Main {public static void main(String[] args) {// 使用for循环遍历数字1到10for (int i = 1; i <= 10; i++) {// 使用System.out.println()方法输出每个数字System.out.println(i);}}}4. 实现输入输出import java.util.Scanner;public class Main {public static void main(String[] args) {// 创建一个Scanner对象scanner,以便接受用户的输入Scanner scanner = new Scanner(System.in);// 使用scanner.nextLine()方法获取用户输入的字符串String input = scanner.nextLine();// 使用System.out.println()方法输出输入的内容System.out.println("输入的是:" + input);}}5. 实现条件分支public class Main {public static void main(String[] args) {// 定义一个整型变量num并将其赋值为10int num = 10;// 使用if语句判断num是否大于0,如果是,则输出"这个数是正数",否则输出"这个数是负数"if (num > 0) {System.out.println("这个数是正数");} else {System.out.println("这个数是负数");}}}6. 使用数组存储数据public class Main {public static void main(String[] args) {// 定义一个整型数组nums,其中包含数字1到5int[] nums = new int[]{1, 2, 3, 4, 5};// 使用for循环遍历数组for (int i = 0; i < nums.length; i++) {// 使用System.out.println()方法输出每个数组元素的值System.out.println(nums[i]);}}}7. 打印字符串长度public class Main {public static void main(String[] args) {// 定义一个字符串变量str并将其赋值为"HelloWorld"String str = "Hello World";// 使用str.length()方法获取字符串的长度,并使用System.out.println()方法输出长度System.out.println(str.length());}}8. 字符串拼接public class Main {public static void main(String[] args) {// 定义两个字符串变量str1和str2,并分别赋值为"Hello"和"World"String str1 = "Hello";String str2 = "World";// 使用"+"号将两个字符串拼接成一个新字符串,并使用System.out.println()方法输出拼接后的结果System.out.println(str1 + " " + str2);}}9. 使用方法进行多次调用public class Main {public static void main(String[] args) {// 定义一个名为str的字符串变量并将其赋值为"Hello World"String str = "Hello World";// 调用printStr()方法,打印字符串变量str的值printStr(str);// 调用add()方法,计算两个整数的和并输出结果int result = add(1, 2);System.out.println(result);}// 定义一个静态方法printStr,用于打印字符串public static void printStr(String str) {System.out.println(str);}// 定义一个静态方法add,用于计算两个整数的和public static int add(int a, int b) {return a + b;}}10. 使用继承实现多态public class Main {public static void main(String[] args) {// 创建一个Animal对象animal,并调用move()方法Animal animal = new Animal();animal.move();// 创建一个Dog对象dog,并调用move()方法Dog dog = new Dog();dog.move();// 创建一个Animal对象animal2,但其实际指向一个Dog对象,同样调用move()方法Animal animal2 = new Dog();animal2.move();}}// 定义一个Animal类class Animal {public void move() {System.out.println("动物在移动");}}// 定义一个Dog类,继承自Animal,并重写了move()方法class Dog extends Animal {public void move() {System.out.println("狗在奔跑");}}11. 输入多个数并求和import java.util.Scanner;public class Main {public static void main(String[] args) {// 创建一个Scanner对象scanner,以便接受用户的输入Scanner scanner = new Scanner(System.in);// 定义一个整型变量sum并将其赋值为0int sum = 0;// 使用while循环持续获取用户输入的整数并计算总和,直到用户输入为0时结束循环while (true) {System.out.println("请输入一个整数(输入0退出):");int num = scanner.nextInt();if (num == 0) {break;}sum += num;}// 使用System.out.println()方法输出总和System.out.println("所有输入的数的和为:" + sum);}}12. 判断一个年份是否为闰年import java.util.Scanner;public class Main {public static void main(String[] args) {// 创建一个Scanner对象scanner,以便接受用户的输入Scanner scanner = new Scanner(System.in);// 使用scanner.nextInt()方法获取用户输入的年份System.out.println("请输入一个年份:");int year = scanner.nextInt();// 使用if语句判断年份是否为闰年,如果是,则输出"是闰年",否则输出"不是闰年"if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {System.out.println(year + "年是闰年");} else {System.out.println(year + "年不是闰年");}}}13. 使用递归实现斐波那契数列import java.util.Scanner;public class Main {public static void main(String[] args) {// 创建一个Scanner对象scanner,以便接受用户的输入Scanner scanner = new Scanner(System.in);// 使用scanner.nextInt()方法获取用户输入的正整数nSystem.out.println("请输入一个正整数:");int n = scanner.nextInt();// 使用for循环遍历斐波那契数列for (int i = 1; i <= n; i++) {System.out.print(fibonacci(i) + " ");}}// 定义一个静态方法fibonacci,使用递归计算斐波那契数列的第n项public static int fibonacci(int n) {if (n <= 2) {return 1;} else {return fibonacci(n - 1) + fibonacci(n - 2);}}}14. 输出九九乘法表public class Main {public static void main(String[] args) {// 使用两层for循环打印九九乘法表for (int i = 1; i <= 9; i++) {for (int j = 1; j <= i; j++) {System.out.print(j + "*" + i + "=" + (i * j) + "\t");}System.out.println();}}}15. 使用try-catch-finally处理异常import java.util.Scanner;public class Main {public static void main(String[] args) {// 创建一个Scanner对象scanner,以便接受用户的输入Scanner scanner = new Scanner(System.in);try {// 使用scanner.nextInt()方法获取用户输入的整数a和bSystem.out.println("请输入两个整数:");int a = scanner.nextInt();int b = scanner.nextInt();// 对a进行除以b的运算int result = a / b;// 使用System.out.println()方法输出结果System.out.println("计算结果为:" + result);} catch (ArithmeticException e) {// 如果除数为0,会抛出ArithmeticException异常,捕获异常并使用System.out.println()方法输出提示信息System.out.println("除数不能为0");} finally {// 使用System.out.println()方法输出提示信息System.out.println("程序结束");}}}16. 使用集合存储数据并遍历import java.util.ArrayList;import java.util.List;public class Main {public static void main(String[] args) {// 创建一个名为list的List集合,并添加多个字符串元素List<String> list = new ArrayList<>();list.add("Java");list.add("Python");list.add("C++");list.add("JavaScript");// 使用for循环遍历List集合并使用System.out.println()方法输出每个元素的值for (int i = 0; i < list.size(); i++) {System.out.println(list.get(i));}}}17. 使用Map存储数据并遍历import java.util.HashMap;import java.util.Map;public class Main {public static void main(String[] args) {// 创建一个名为map的Map对象,并添加多组键值对Map<Integer, String> map = new HashMap<>();map.put(1, "Java");map.put(2, "Python");map.put(3, "C++");map.put(4, "JavaScript");// 使用for-each循环遍历Map对象并使用System.out.println()方法输出每个键值对的值for (Map.Entry<Integer, String> entry :map.entrySet()) {System.out.println("key=" + entry.getKey() + ", value=" + entry.getValue());}}}18. 使用lambda表达式进行排序import java.util.ArrayList;import java.util.Collections;import parator;import java.util.List;public class Main {public static void main(String[] args) {// 创建一个名为list的List集合,并添加多个字符串元素List<String> list = new ArrayList<>();list.add("Java");list.add("Python");list.add("C++");list.add("JavaScript");// 使用lambda表达式定义Comparator接口的compare()方法,按照字符串长度进行排序Comparator<String> stringLengthComparator = (s1, s2) -> s1.length() - s2.length();// 使用Collections.sort()方法将List集合进行排序Collections.sort(list, stringLengthComparator);// 使用for-each循环遍历List集合并使用System.out.println()方法输出每个元素的值for (String str : list) {System.out.println(str);}}}19. 使用线程池执行任务import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;public class Main {public static void main(String[] args) {// 创建一个名为executor的线程池对象,其中包含2个线程ExecutorService executor =Executors.newFixedThreadPool(2);// 使用executor.execute()方法将多个Runnable任务加入线程池中进行执行executor.execute(new MyTask("任务1"));executor.execute(new MyTask("任务2"));executor.execute(new MyTask("任务3"));// 调用executor.shutdown()方法关闭线程池executor.shutdown();}}// 定义一个MyTask类,实现Runnable接口,用于代表一个任务class MyTask implements Runnable {private String name;public MyTask(String name) { = name;}@Overridepublic void run() {System.out.println("线程" +Thread.currentThread().getName() + "正在执行任务:" + name);try {Thread.sleep(2000);} catch (InterruptedException e) {e.printStackTrace();}System.out.println("线程" +Thread.currentThread().getName() + "完成任务:" + name);}}20. 使用JavaFX创建图形用户界面import javafx.application.Application;import javafx.scene.Scene;import javafx.scene.control.Button;import yout.StackPane;import javafx.stage.Stage;public class Main extends Application {@Overridepublic void start(Stage primaryStage) throws Exception { // 创建一个Button对象btn,并设置按钮名称Button btn = new Button("点击我");// 创建一个StackPane对象pane,并将btn添加到pane中StackPane pane = new StackPane();pane.getChildren().add(btn);// 创建一个Scene对象scene,并将pane作为参数传入Scene scene = new Scene(pane, 200, 100);// 将scene设置为primaryStage的场景primaryStage.setScene(scene);// 将primaryStage的标题设置为"JavaFX窗口"primaryStage.setTitle("JavaFX窗口");// 调用primaryStage.show()方法显示窗口primaryStage.show();}public static void main(String[] args) { launch(args);}}。

JAVA20经典编程题全集及答案

JAVA20经典编程题全集及答案

JAVA20经典编程题全集及答案【程序1】题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?//这是一个菲波拉契数列问题public class lianxi01 {public static void main(String[] args) {System.out.println(\第1个月的兔子对数: 1\System.out.println(\第2个月的兔子对数: 1\int f1 = 1, f2 = 1, f, M=24; for(int i=3; i<=M; i++) { f = f2;f2 = f1 + f2; f1 = f;System.out.println(\第\个月的兔子对数: \ } } }【程序2】题目:判断101-200之间有多少个素数,并输出所有素数。

程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。

public class lianxi02 {public static void main(String[] args) { int count = 0;for(int i=101; i<200; i+=2) { boolean b = false;for(int j=2; j<=Math.sqrt(i); j++) {if(i % j == 0) { b = false; break; } else { b =true; } }if(b == true) {count++;System.out.println(i );} }System.out.println( \素数个数是: \} }【程序3】题目:打印出所有的 \水仙花数 \,所谓 \水仙花数 \是指一个三位数,其各位数字立方和等于该数本身。

Java经典基础代码

Java经典基础代码

Monkey_peach代码package com.sailor.game;/*** 题目:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个第二天早上又将剩* 下的桃子吃掉一半,又多吃了一个。

以后每天早上都吃了前一天剩下的一半零一个。

到第10天早上想再吃时,见只剩下一个桃子了。

求第一天共摘了多少。

* 程序分析:采取逆向思维的方法,从后往前推断。

** @author Sailor**/public class Monkey_Peach {public static void main(String[] args) {int[] peach = new int[10];peach[9] = 1;// 下面利用的是数组和循环将每天的桃子数量都求出来了for (int i = peach.length - 1; i > 0; i--) {peach[i - 1] = 2 * (peach[i] + 1);}for (int i = 0; i < peach.length; i++) {System.out.println(peach[i]);}System.out.println("第一天的桃子数:"+getPeach_Num(10, 1));}// 利用递归的方法来求第一天的桃子数,输入参数为天数和当天的桃子数,输出为第一天桃子数public static int getPeach_Num(int day, int peach_num) {if (day == 1)return peach_num;else if (day < 1 || peach_num < 0)return 0;elsereturn getPeach_Num(day - 1, (peach_num + 1) * 2);}}package com.sailor.game;/*** 题目:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个第二天早上又将剩* 下的桃子吃掉一半,又多吃了一个。

java 递归算法代码

java 递归算法代码

java 递归算法代码Java递归算法代码概述:递归是一种常用的解决问题的方法,它将一个大问题分解成若干个小问题,通过解决小问题来解决大问题。

在Java中,递归算法可以使用方法调用自身的方式来实现。

本文将介绍Java中递归算法的基本原理、应用场景、代码实现以及常见错误和注意事项。

一、基本原理递归算法的基本原理是将一个大问题分解成若干个小问题,通过解决小问题来解决大问题。

在Java中,递归算法可以使用方法调用自身的方式来实现。

例如,计算阶乘n! 的递归定义如下:n!=n×(n−1)×(n−2)×…×3×2×1当n=0或1时,阶乘为1;当n>1时,阶乘可以表示为n乘以(n-1)!。

这个定义可以直接转化为Java代码:public static int factorial(int n) {if (n == 0 || n == 1) {return 1;} else {return n * factorial(n - 1);}}二、应用场景递归算法在计算机科学中有广泛应用。

以下是几个常见的例子:- 遍历树结构:树是一种重要的数据结构,在遍历树时,可以使用递归算法来遍历树的每个节点。

- 排序算法:一些排序算法,如快速排序和归并排序,都是使用递归算法实现的。

- 搜索算法:搜索算法如深度优先搜索和广度优先搜索也可以使用递归算法实现。

三、代码实现下面是一个求斐波那契数列第n项的递归实现代码:public static int fibonacci(int n) {if (n == 0 || n == 1) {return n;} else {return fibonacci(n - 1) + fibonacci(n - 2);}}在这个例子中,如果n等于0或1,则直接返回n;否则,返回前两项之和。

四、常见错误和注意事项在编写递归算法时,需要注意以下几点:- 递归必须有一个终止条件:如果没有终止条件,递归将会无限循环。

java程序设计文档模板

java程序设计文档模板

java程序设计文档模板篇一:java开发详细设计文档模板一卡通管理程序说明详细设计说明书作者:完成日期:XX/10/7 签收人:签收日期:XX/10/10修改情况记录:目录1 引言 ................................................ ................................................... .. (1)编写目的 ................................................ ................................................... ................................ 1 背景 ................................................ ................................................... ........................................ 1 定义 ................................................ ........................................................................................... 1 参考资料 ................................................ ................................................... .. (1)2 程序系统的结构 ................................................ ................................................... ............ 1 3 程序1(标识符)设计说明 ................................................ .. (2)程序描述 ................................................ ................................................... ................................ 2 功能 ................................................ ................................................... ........................................ 2 性能 ................................................ ................................................... ........................................ 2 输入项 ................................................................................................... .................................... 2 输出项 ................................................ ................................................... .................................... 2 算法 ................................................ ................................................... ........................................ 3 流程逻辑 ................................................ ................................................... ................................ 3 接口 ................................................ ................................................... ........................................ 3 存储分配 ................................................ ................................................... ................................ 3 注释设计 ................................................ ................................................... .............................. 3 限制条件 ................................................ ................................................................................. 3 测试计划 ................................................ ................................................... .............................. 3 尚未解决的问题 ................................................ ................................................... (4)4 程序2(标识符)设计说明 ................................................ .. (4)1 引言编写目的说明编写这份详细设计说明书的目的,指出预期的读者范围。

java类和对象简单的例子代码

java类和对象简单的例子代码

Java类和对象简单的例子代码1. 简介在Java编程中,类和对象是非常重要的概念。

类是对象的模板,可以用来创建对象。

对象是类的实例,它可以拥有自己的属性和行为。

通过类和对象的使用,我们可以实现面向对象编程的思想,使我们的程序更加模块化和易于维护。

2. 创建类下面是一个简单的Java类的例子:```javapublic class Car {String brand;String color;int maxSpeed;void displayInfo() {System.out.println("Brand: " + brand);System.out.println("Color: " + color);System.out.println("Max Speed: " + maxSpeed);}}```在这个例子中,我们创建了一个名为Car的类。

该类有三个属性:brand、color和maxSpeed,并且有一个方法displayInfo用来展示车辆的信息。

3. 创建对象要创建Car类的对象,我们可以使用以下代码:```javaCar myCar = new Car();```这行代码创建了一个名为myCar的Car对象。

我们使用关键字new 来实例化Car类,并且将该实例赋值给myCar变量。

4. 访问对象的属性一旦我们创建了Car对象,我们就可以访问它的属性并为其赋值。

例如:```javamyCar.brand = "Toyota";myCar.color = "Red";myCar.maxSpeed = 180;```这些代码展示了如何为myCar对象的属性赋值。

我们可以使用点号操作符来访问对象的属性。

5. 调用对象的方法除了访问对象的属性,我们还可以调用对象的方法。

我们可以使用以下代码来展示myCar对象的信息:```javamyCar.displayInfo();```这行代码会调用myCar对象的displayInfo方法,从而展示该车辆的信息。

java经典代码(最全面)

java经典代码(最全面)

Java实现ftp功能import .ftp.*;import .*;import java.awt.*;import java.awt.event.*;import java.applet.*;import java.io.*;public class FtpApplet extends Applet{FtpClient aftp;DataOutputStream outputs ;TelnetInputStream ins;TelnetOutputStream outs;TextArea lsArea;Label LblPrompt;Button BtnConn;Button BtnClose;TextField TxtUID;TextField TxtPWD;TextField TxtHost;int ch;public String a="没有连接主机";String hostname="";public void init () {setBackground(Color.white);setLayout(new GridBagLayout()); GridBagConstraints GBC = new GridBagConstraints( );LblPrompt = new Label("没有连接主机"); LblPrompt.setAlignment(Label.LEFT);BtnConn = new Button("连接");BtnClose = new Button("断开");BtnClose.enable(false);TxtUID = new TextField("",15);TxtPWD = new TextField("",15);TxtPWD.setEchoCharacter(’*’);TxtHost = new TextField("",20);Label LblUID = new Label("User ID:");Label LblPWD = new Label("PWD:");Label LblHost = new Label("Host:");lsArea = new TextArea(30,80); lsArea.setEditable(false);GBC.gridwidth= GridBagConstraints.REMAINDER; GBC.fill = GridBagConstraints.HORIZONTAL; ((GridBagLayout)getLayout()).setConstraints(LblPro mpt,GBC);add(LblPrompt);GBC.gridwidth=1;((GridBagLayout)getLayout()).setConstraints(LblHost ,GBC);add(LblHost);GBC.gridwidth=GridBagConstraints.REMAINDER; ((GridBagLayout)getLayout()).setConstraints(TxtHost ,GBC);add(TxtHost);GBC.gridwidth=1;((GridBagLayout)getLayout()).setConstraints(LblUID ,GBC);add(LblUID);GBC.gridwidth=1;((GridBagLayout)getLayout()).setConstraints(TxtUID ,GBC);add(TxtUID);GBC.gridwidth=1;((GridBagLayout)getLayout()).setConstraints(LblPW D,GBC);add(LblPWD);GBC.gridwidth=1;((GridBagLayout)getLayout()).setConstraints(TxtPW D,GBC);add(TxtPWD);GBC.gridwidth=1;GBC.weightx=2;((GridBagLayout)getLayout()).setConstraints(BtnCon n,GBC);add(BtnConn);GBC.gridwidth=GridBagConstraints.REMAINDER;((GridBagLayout)getLayout()).setConstraints(BtnClos e,GBC);add(BtnClose);GBC.gridwidth=GridBagConstraints.REMAINDER; GBC.fill = GridBagConstraints.HORIZONTAL; ((GridBagLayout)getLayout()).setConstraints(lsArea, GBC);add(lsArea);}public boolean connect(String hostname, String uid,St ring pwd){this.hostname = hostname;LblPrompt.setText("正在连接,请等待.....");try{aftp =new FtpClient(hostname);aftp.login(uid,pwd);aftp.binary();showFileContents();}catch(FtpLoginException e){a="无权限与主机:"+hostname+"连接!"; LblPrompt.setText(a);return false;}catch (IOException e){a="连接主机:"+hostname+"失败!";LblPrompt.setText(a);return false;}catch(SecurityException e){a="无权限与主机:"+hostname+"连接!"; LblPrompt.setText(a);return false;}LblPrompt.setText("连接主机:"+hostname+"成功!"); return true;}public void stop(){try{aftp.closeServer(); }catch(IOException e){}}public void paint(Graphics g){}public boolean action(Event evt,Object obj){if (evt.target == BtnConn){LblPrompt.setText("正在连接,请等待.....");if (connect(TxtHost.getText(),TxtUID.getText(),TxtP WD.getText())){BtnConn.setEnabled(false);BtnClose.setEnabled(true);}return true;}if (evt.target == BtnClose){stop();BtnConn.enable(true);BtnClose.enable(false);LblPrompt.setText("与主机"+hostname+"连接已断开!");return true;}return super.action(evt,obj);}public boolean sendFile(String filepathname){ boolean result=true;if (aftp != null){LblPrompt.setText("正在粘贴文件,请耐心等待....");String contentperline;try{a="粘贴成功!";String fg =new String("\\");int index = stIndexOf(fg);String filename = filepathname.substring(index+1); File localFile ;localFile = new File(filepathname) ; RandomAccessFile sendFile = new RandomAccessFil e(filepathname,"r");//sendFile.seek(0);outs = aftp.put(filename);outputs = new DataOutputStream(outs);while (sendFile.getFilePointer() < sendFile.length() ) {ch = sendFile.read();outputs.write(ch);}outs.close();sendFile.close();}catch(IOException e){a = "粘贴失败!";result = false ;}LblPrompt.setText(a);showFileContents();}else{result = false;}return result;}public void showFileContents(){StringBuffer buf = new StringBuffer();lsArea.setText("");try{ins= aftp.list();while ((ch=ins.read())>=0){buf.append((char)ch);}lsArea.appendText(buf.toString());ins.close();} catch(IOException e){}}public static void main(String args[]){Frame f = new Frame("FTP Client");f.addWindowListener(new WindowAdapter() {public void windowClosing(WindowEvent e ){System.exit(0);}});FtpApplet ftp = new FtpApplet();ftp.init();ftp.start();f.add(ftp);f.pack();f.setVisible(true);}}Java URL编程import java.io.*;import .*;////// GetHost.java////public class GetHost{public static void main (String arg[]){if (arg.length>=1){InetAddress[] Inet;int i=1;try{for (i=1;i<=arg.length;i++){Inet = InetAddress.getAllByName(arg[i-1]);for (int j=1;j<=Inet.length;j++){System.out.print(Inet[j-1].toString());System.out.print("\n");}}}catch(UnknownHostException e){System.out.print("Unknown HostName!"+arg[i-1]); }}else{System.out.print("Usage java/jview GetIp <hostname >");}}}</pre></p><p><pre><font color=red>Example 2</font><a href="GetHTML.java">download now</a>//GetHTML.java/*** This is a program which can read information from a web server.* @version 1.0 2000/01/01* @author jdeveloper**/import .*;import java.io.*;public class GetHTML {public static void main(String args[]){if (args.length < 1){System.out.println("USAGE: java GetHTML httpaddr ess");System.exit(1);}String sURLAddress = new String(args[0]);URL url = null;try{url = new URL(sURLAddress);}catch(MalformedURLException e){System.err.println(e.toString());System.exit(1);}try{ InputStream ins = url.openStream();BufferedReader breader = new BufferedReader(new InputStreamReader(ins));String info = breader.readLine();while(info != null){System.out.println(info);info = breader.readLine();}}catch(IOException e){System.err.println(e.toString());System.exit(1);}}}Java RMI编程<b>Step 1: Implements the interface of Remote Serv er as SimpleCounterServer.java</b>public interface SimpleCounterServer extends java. rmi.Remote{public int getCount() throws java.rmi.RemoteExcep tion;}Compile it with javac SimpleCounterServer.java<b>Step 2: Produce the implement file SimpleCou nterServerImpl.java as</b>import java.rmi.*;import java.rmi.server.UnicastRemoteObject;////// SimpleCounterServerImpl////public class SimpleCounterServerImplextends UnicastRemoteObjectimplements SimpleCounterServer{private int iCount;public SimpleCounterServerImpl() throws java.rmi.RemoteException{iCount = 0;}public int getCount() throws RemoteException{return ++iCount;}public static void main(String args[]){System.setSecurityManager(new RMISecurityM anager());try{SimpleCounterServerImpl server = new Simpl eCounterServerImpl();System.out.println("SimpleCounterServer crea ted");Naming.rebind("SimpleCounterServer",server); System.out.println("SimpleCounterServer regi stered");}catch(RemoteException x){x.printStackTrace();}catch(Exception x){x.printStackTrace();}}}Complile it with javac SimpleCounterServerImpl.java<b>Step 3: Produce skeleton and stub file with rmic S impleCounterServerImpl</b>You will get two class files:1.SimpleCounterServerImpl_Stub.class2.SimpleCounterServerImpl_Skel.class<b>Step 4: start rmiregistry </b><b>Step 5: java SimpleCounterServerImpl</b> <b>Step 6: Implements the Client Applet to invoke th e Remote method</b>File :SimpleCounterApplet.java asimport java.applet.Applet;import java.rmi.*;import java.awt.*;////// SimpleCounterApplet////public class SimpleCounterApplet extends Applet {String message="";String message1 = "";public void init(){setBackground(Color.white);try{SimpleCounterServer sever = (SimpleCounter Server)Naming.lookup("//"+getCodeBase().getHost ()+"/SimpleCounterServer");message1 = "//"+getCodeBase().getHost()+"/S impleCounterServer";message = String.valueOf(sever.getCount()); }catch(Exception x){x.printStackTrace();message = x.toString();}}public void paint(Graphics g){g.drawString("Number is "+message,10,10);g.drawString("Number is "+message1,10,30);}}<b>step 7 create an Html File rmi.htm : </b>< html>< body>< applet code="SimpleCounterApplet.class" width="5 00" height="150">< /applet>< /body>< /html>Java CORBA入门Below is a simple example of a CORBA program download the source file<b>1. produce a idl file like this</b>hello.idlmodule HelloApp {interface Hello {string sayHello();};};<b>2. produce stub and skeleton files through idltojav a.exe</b>idltojava hello.idlidltojava is now named as idlj.exe and is included in the JDK.<b>3. write a server program like this </b>// HelloServer.javaimport HelloApp.*;import org.omg.CosNaming.*;import org.omg.CosNaming.NamingContextPackage. *;import org.omg.CORBA.*;import java.io.*;class HelloServant extends _HelloImplBase{public String sayHello(){return "\nHello world !!\n";}} public class HelloServer {public static void main(String args[]){try{// create and initialize the ORBORB orb = ORB.init(args, null);// create servant and register it with the ORBHelloServant helloRef = new HelloServant();orb.connect(helloRef);// get the root naming contextorg.omg.CORBA.Object objRef =orb.resolve_initial_references("NameService");NamingContext ncRef = NamingContextHelper.nar row(objRef);// bind the Object Reference in NamingNameComponent nc = new NameComponent("Hell o", "");NameComponent path[] = {nc};ncRef.rebind(path, helloRef);// wait for invocations from clientsng.Object sync = new ng.Object(); synchronized (sync) {sync.wait();}} catch (Exception e) {System.err.println("ERROR: " + e);e.printStackTrace(System.out);}}}<b>4. write a client program like this</b>// HelloClient.javaimport HelloApp.*;import org.omg.CosNaming.*;import org.omg.CORBA.*;public class HelloClient{public static void main(String args[]){try{// create and initialize the ORBORB orb = ORB.init(args, null);// get the root naming contextorg.omg.CORBA.Object objRef =orb.resolve_initial_references("NameService");NamingContext ncRef = NamingContextHelpe r.narrow(objRef);// testSystem.out.println("OK..");// resolve the Object Reference in NamingNameComponent nc = new NameComponent( "Hello", "");NameComponent path[] = {nc};Hello helloRef = HelloHelper.narrow(ncRef.re solve(path));// call the Hello server object and print results//String oldhello = stMessage();//System.out.println(oldhello);String Hello = helloRef.sayHello();System.out.println(Hello);} catch (Exception e) {System.out.println("ERROR : " + e) ;e.printStackTrace(System.out);}}}<b>5. complie these files</b>javac *.java HelloApp/*.java<b>6. run the application</b>a. first you’ve to run the Name Service prior to the others likethis c:\>tnameservb. run server c:\>java HelloServerc. run clientc:\>java HelloClient利用RamdonAccessFile来实现文件的追加RamdonAccessFile 是个很好用的类,功能十分强大,可以利用它的length()和seek()方法来轻松实现文件的追加,相信我下面这个例子是很容易看懂的,先写入十行,用length()读出长度(以byte为单位),在用seek()移动到文件末尾,继续添加,最后显示记录。

简单的java代码例子

简单的java代码例子

简单的java代码例子Java是一门广泛应用的编程语言,下面为大家提供一些简单的Java代码例子:1. HelloWorld程序public class HelloWorld {public static void main(String[] args) {System.out.println('Hello, World');}}2. 计算器程序import java.util.Scanner;public class Calculator {public static void main(String[] args) {Scanner in = new Scanner(System.in);System.out.print('Enter the first number: ');int num1 = in.nextInt();System.out.print('Enter the second number: ');int num2 = in.nextInt();System.out.println('Sum: ' + (num1 + num2));System.out.println('Difference: ' + (num1 - num2));System.out.println('Product: ' + (num1 * num2));System.out.println('Quotient: ' + (num1 / num2));}}3. 猜数字游戏import java.util.Random;import java.util.Scanner;public class GuessNumber {public static void main(String[] args) {Random rand = new Random();int numberToGuess = rand.nextInt(100) + 1;Scanner in = new Scanner(System.in);int guess;int tries = 0;do {System.out.print('Enter your guess (1-100): '); guess = in.nextInt();tries++;if (guess > numberToGuess) {System.out.println('Too high');} else if (guess < numberToGuess) {System.out.println('Too low');}} while (guess != numberToGuess);System.out.println('Congratulations, you guessed the number in ' + tries + ' tries');}}以上是几个简单的Java代码例子,希望对初学者有所帮助。

Java代码规范详细版

Java代码规范详细版

Java代码规范1。

标识符命名规范1.1 概述标识符的命名力求做到统一、达意和简洁。

尽量做到每个人按照规范来,多人开发如一人开发一样。

1.1.1 统一统一是指,对于同一个概念,在程序中用同一种表示方法,比如对于供应商,既可以用supplier,也可以用provider,但是我们只能选定一个使用,至少在一个Java项目中保持统一.统一是作为重要的,如果对同一概念有不同的表示方法,会使代码混乱难以理解。

即使不能取得好的名称,但是只要统一,阅读起来也不会太困难,因为阅读者只要理解一次。

1。

1.2 达意达意是指,标识符能准确的表达出它所代表的意义,比如:newSupplier,OrderPaymentGatewayService等;而supplier1, service2,idtts等则不是好的命名方式。

准确有两成含义,一是正确,而是丰富。

如果给一个代表供应商的变量起名是order,显然没有正确表达。

同样的,supplier1, 远没有targetSupplier意义丰富。

1。

1。

3 简洁简洁是指,在统一和达意的前提下,用尽量少的标识符.如果不能达意,宁愿不要简洁。

比如:theOrderNameOfTheTargetSupplierWhichIsTransfered 太长,transferedTargetSupplierOrderName则较好,但是transTgtSplOrdNm就不好了.省略元音的缩写方式不要使用,我们的英语往往还没有好到看得懂奇怪的缩写.1。

1.4 骆驼法则Java中,除了包名,静态常量等特殊情况,大部分情况下标识符使用骆驼法则,即单词之间不使用特殊符号分割,而是通过首字母大写来分割。

比如: supplierName,addNewContract,而不是supplier_name, add_new_contract.1.1。

5 英文vs 拼音尽量使用通俗易懂的英文单词,如果不会可以向队友求助,实在不行则使用汉语拼音,避免拼音与英文混用。

java算法代码实现

java算法代码实现

java算法代码实现一、Java算法概述Java算法是指在Java编程语言中实现的各种计算机算法。

它们可以用于解决各种问题,例如排序、搜索、图形处理和数据分析等。

Java算法通常由一组指令组成,这些指令按照特定的顺序执行,以达到预期的结果。

二、Java算法的分类根据不同的标准,Java算法可以分为不同的类别。

以下是常见的分类方式:1. 基本排序算法:包括冒泡排序、选择排序和插入排序等。

2. 高级排序算法:包括快速排序、归并排序和堆排序等。

3. 搜索算法:包括线性搜索和二分搜索等。

4. 图形处理算法:包括图像滤波和边缘检测等。

5. 数据分析算法:包括聚类分析和分类器等。

三、Java基本排序算法代码实现以下是三种基本排序算法(冒泡排序、选择排序和插入排序)的Java 代码实现:1. 冒泡排序public static void bubbleSort(int[] arr) { int n = arr.length;for (int i = 0; i < n - 1; i++) {for (int j = 0; j < n - i - 1; j++) {if (arr[j] > arr[j + 1]) {int temp = arr[j];arr[j] = arr[j + 1];arr[j + 1] = temp;}}}}2. 选择排序public static void selectionSort(int[] arr) { int n = arr.length;for (int i = 0; i < n - 1; i++) {int minIndex = i;for (int j = i + 1; j < n; j++) {if (arr[j] < arr[minIndex]) {minIndex = j;}}int temp = arr[i];arr[i] = arr[minIndex];arr[minIndex] = temp;}}3. 插入排序public static void insertionSort(int[] arr) { int n = arr.length;for (int i = 1; i < n; i++) {int key = arr[i];int j = i - 1;while (j >= 0 && key < arr[j]) {arr[j + 1] = arr[j];j--;}arr[j + 1] = key;}}四、Java高级排序算法代码实现以下是三种高级排序算法(快速排序、归并排序和堆排序)的Java代码实现:1. 快速排序public static void quickSort(int[] arr, int low, int high) {if (low < high) {int pivotIndex = partition(arr, low, high);quickSort(arr, low, pivotIndex - 1);quickSort(arr, pivotIndex + 1, high);}}private static int partition(int[] arr, int low, int high) {int pivotValue = arr[high];int i = low - 1;for (int j = low; j < high; j++) {if (arr[j] < pivotValue) {i++;int temp = arr[i];arr[i] = arr[j];arr[j] = temp;}}int temp = arr[i + 1];arr[i + 1] = arr[high];arr[high] = temp;return i + 1;}2. 归并排序public static void mergeSort(int[] arr, int low, int high) {if (low < high) {int mid = (low + high) / 2;mergeSort(arr, low, mid);mergeSort(arr, mid + 1, high);merge(arr, low, mid, high);}}private static void merge(int[] arr, int low, int mid, int high) { int[] tempArr = new int[arr.length];for (int i = low; i <= high; i++) {tempArr[i] = arr[i];}int i = low;int j = mid + 1;int k = low;while (i <= mid && j <= high) {if (tempArr[i] <= tempArr[j]) {arr[k++] = tempArr[i++];} else {arr[k++] = tempArr[j++];}}while (i <= mid) {arr[k++] = tempArr[i++];}}3. 堆排序public static void heapSort(int[] arr) { buildMaxHeap(arr);for (int i = arr.length - 1; i >= 0; i--) { swap(arr, 0, i);maxHeapify(arr, 0, i);}}private static void buildMaxHeap(int[] arr) {int n = arr.length;for (int i = n / 2 - 1; i >= 0; i--) {maxHeapify(arr, i, n);}}private static void maxHeapify(int[] arr, int i, int heapSize) { int left = i * 2 + 1;int right = i * 2 + 2;int largestIndex = i;if (left < heapSize && arr[left] > arr[largestIndex]) {largestIndex = left;}if (right < heapSize && arr[right] > arr[largestIndex]) { largestIndex = right;}if (largestIndex != i) {swap(arr, i, largestIndex);maxHeapify(arr, largestIndex, heapSize);}}private static void swap(int[] arr, int a, int b) {int temp = arr[a];arr[a] = arr[b];arr[b] = temp;}五、Java搜索算法代码实现以下是两种搜索算法(线性搜索和二分搜索)的Java代码实现:1. 线性搜索public static boolean linearSearch(int[] arr, int target) {for (int num : arr) {if (num == target) {return true;}}return false;}2. 二分搜索public static boolean binarySearch(int[] sortedArr, int target) { int low = 0;int high = sortedArr.length - 1;while (low <= high) {int mid = (low + high) / 2;if (sortedArr[mid] == target) {return true;} else if (sortedArr[mid] < target) {low = mid + 1;} else {high = mid - 1;}}return false;}六、Java图形处理算法代码实现以下是两种图形处理算法(图像滤波和边缘检测)的Java代码实现:1. 图像滤波public static BufferedImage blurFilter(BufferedImage image, int radius) {int width = image.getWidth();int height = image.getHeight();BufferedImage resultImage = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);for (int y = 0; y < height; y++) {for (int x = 0; x < width; x++) {int rgbSumRed = 0;int rgbSumGreen = 0;int rgbSumBlue = 0;int count = 0;for (int i = -radius; i <= radius; i++) {for (int j = -radius; j <= radius; j++) {if (x + i >= 0 && x + i < width && y + j >= 0 && y + j < height) {int rgbValue = image.getRGB(x + i, y + j);rgbSumRed += (rgbValue >> 16) & 255;rgbSumGreen += (rgbValue >> 8) & 255;rgbSumBlue += rgbValue & 255;count++;}}}int avgRed = rgbSumRed / count;int avgGreen = rgbSumGreen / count;int avgBlue = rgbSumBlue / count;resultImage.setRGB(x, y, (avgRed << 16) | (avgGreen << 8) | avgBlue);}}return resultImage;}2. 边缘检测public static BufferedImage edgeDetection(BufferedImage image) {int width = image.getWidth();int height = image.getHeight();BufferedImage resultImage = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);int[][] gx = {{-1, 0, 1}, {-2, 0, 2}, {-1, 0, 1}};int[][] gy = {{-1, -2, -1}, {0, 0, 0}, {1, 2, 1}};for (int y = 0; y < height; y++) {for (int x = 0; x < width; x++) {int gxSumRed = 0;int gxSumGreen = 0;int gxSumBlue = 0;int gySumRed = 0;int gySumGreen = 0;int gySumBlue = 0;for (int i = -1; i <= 1; i++) {for (int j = -1; j <= 1; j++) {if (x + i >= 0 && x + i < width && y + j >= 0 && y + j < height) {Color colorValue = new Color(image.getRGB(x + i, y + j));gxSumRed += colorValue.getRed() * gx[i + 1][j + 1];gxSumGreen += colorValue.getGreen() * gx[i + 1][j + 1];gxSumBlue += colorValue.getBlue() * gx[i + 1][j + 1];gySumRed += colorValue.getRed() * gy[i + 1][j + 1];gySumGreen += colorValue.getGreen() * gy[i + 1][j + 1];gySumBlue += colorValue.getBlue() * gy[i + 1][j + 1];}}}int red = (int) Math.sqrt(gxSumRed * gxSumRed + gySumRed * gySumRed);int green = (int) Math.sqrt(gxSumGreen * gxSumGreen + gySumGreen * gySumGreen);int blue = (int) Math.sqrt(gxSumBlue * gxSumBlue + gySumBlue * gySumBlue);red = Math.min(red, 255);green = Math.min(green, 255);blue = Math.min(blue, 255);resultImage.setRGB(x, y, (red << 16) | (green << 8) | blue);}}return resultImage;}七、Java数据分析算法代码实现以下是两种数据分析算法(聚类分析和分类器)的Java代码实现:1. 聚类分析public static List<List<double[]>> kMeansClustering(List<double[]> dataList, int k) {List<List<double[]>> clustersList = new ArrayList<>(); for (int i = 0; i < k; i++) {clustersList.add(new ArrayList<>());}double[][] centroidsArr = newdouble[k][dataList.get(0).length];for (int i = 0; i < k; i++) {centroidsArr[i] = dataList.get(i);clustersList.get(i).add(dataList.get(i));}while (true) {boolean changed = false;for (double[] data : dataList) {int nearestCentroidIndex = 0;double nearestDistance = Double.MAX_VALUE; for (int i = 0; i < k; i++) {double distance = euclideanDistance(data, centroidsArr[i]);if (distance < nearestDistance) {nearestCentroidIndex = i;nearestDistance = distance;}}if (!clustersList.get(nearestCentroidIndex).contains(data)) {for (List<double[]> cluster : clustersList) {if (cluster.contains(data)) {cluster.remove(data);break;}}clustersList.get(nearestCentroidIndex).add(data);changed = true;}}if (!changed) {break;}for (int i = 0; i < k; i++) {double[] newCentroid =calculateCentroid(clustersList.get(i));centroidsArr[i] = newCentroid;}}return clustersList;}private static double euclideanDistance(double[] a, double[] b) { double sumSquares = 0.0;for (int i = 0; i < a.length; i++) {sumSquares += Math.pow(a[i] - b[i], 2);}return Math.sqrt(sumSquares);}private static double[] calculateCentroid(List<double[]> dataList) {int dimensions = dataList.get(0).length;double[] centroidArr = new double[dimensions];for (int d = 0; d < dimensions; d++) {double sumValuesInDimension = 0.0;for (double[] data : dataList) {sumValuesInDimension += data[d];}centroidArr[d] = sumValuesInDimension / dataList.size(); }return centroidArr;}2. 分类器public static String kNearestNeighborsClassifier(List<double[]> trainingDataList, List<String> trainingLabelList,double[] testData, int k) {double[][] distancesAndLabelsArr = newdouble[trainingDataList.size()][2];for (int i = 0; i < trainingDataList.size(); i++) {distancesAndLabelsArr[i][0] = euclideanDistance(testData, trainingDataList.get(i));distancesAndLabelsArr[i][1] =Double.parseDouble(trainingLabelList.get(i));}Arrays.sort(distancesAndLabelsArr,paringDouble(a -> a[0]));Map<Double, Integer> labelCountMap = new HashMap<>(); for (int i = 0; i < k; i++) {double label = distancesAndLabelsArr[i][1];if (labelCountMap.containsKey(label)) {labelCountMap.put(label, labelCountMap.get(label) + 1); } else {labelCountMap.put(label, 1);}}double mostFrequentLabel = -1;int maxLabelCount = -1;for (double label : labelCountMap.keySet()) {int count = labelCountMap.get(label);if (count > maxLabelCount) {maxLabelCount = count;mostFrequentLabel = label;}}return Double.toString(mostFrequentLabel);}private static double euclideanDistance(double[] a, double[] b) { double sumSquares = 0.0;for (int i = 0; i < a.length; i++) {sumSquares += Math.pow(a[i] - b[i], 2);}return Math.sqrt(sumSquares);}八、总结Java算法是计算机科学中的重要部分,可以用于解决各种问题。

【云南开放大学】java语言程序设计(20秋)形考作业1-参考答案

【云南开放大学】java语言程序设计(20秋)形考作业1-参考答案

云南开放大学-java语言程序设计(20秋)形考作业1试卷总分:100 得分:100一、单选题 (共 10 道试题,共 50 分)1.URL构成函数将决定作为参数的字符串是否是合法的统一资源定位器。

如果合法,则初始化包含统一资源定位器的URL对象,否则将产生▁▁。

A.IOExceptionB.UnknownHostExceptionC.SocketExceptionD.MalformedURLExceptin提问:认真复习云南开放课程知识,并回答上述试题标准正确答案是:D2.当编译Java程序时,每个类都将被分别编译成不同的文件,每个文件名都与所对应的类名相同,并以扩展名结束。

A..javaB..javaxC..htmlD..class提问:认真复习云南开放课程知识,并回答上述试题标准正确答案是:D3.FilterOutputStream类继承下面哪个类?A.FileB.InputStreamC.OutputStreamD.FileOutputStream提问:认真复习云南开放课程知识,并回答上述试题标准正确答案是:C4.请看下面的程序段class Person {String name,department;int age;public Person(String n) { name = n; }public Person(String n,int a) { name = n; age = a; }public Person(String n,String d,int a) {( )}}下面那一选项可以添加到( )处。

A.Person(n,a);B.this(Person(n,a));C.this(n,a);D.this(name,age);提问:认真复习云南开放课程知识,并回答上述试题标准正确答案是:C5.下列关于数组的说法,不正确的是。

A.数组就是相同数据类型的元素按一定顺序排列的集合B.定义数组时,必须知道其元素的类型C.数组对象的大小在生存期内可变化D.所有数组元素的类型必须相同提问:认真复习云南开放课程知识,并回答上述试题标准正确答案是:C6.关于多个线程共享数据,下列说法不正确的是。

java函数式编程示例

java函数式编程示例

java函数式编程示例Java函数式编程示例函数式编程是一种编程范式,它将计算过程看作是函数之间的相互转换。

在函数式编程中,函数是一等公民,可以作为参数传递给其他函数,也可以作为返回值返回。

Java从8版本开始引入了函数式编程的特性,通过Lambda表达式和Stream API,使得在Java中能够更加方便地进行函数式编程。

Lambda表达式是Java函数式编程的核心特性之一。

它允许我们将一个函数作为参数传递给另一个函数,或者将函数作为返回值返回。

下面是一个简单的示例,展示了如何使用Lambda表达式来实现一个排序功能:```javaList<String> names = Arrays.asList("Alice", "Bob", "Charlie", "David");Collections.sort(names, (a, b) -> pareTo(b));```在上述示例中,我们使用Lambda表达式作为参数传递给`Collections.sort`方法,该方法会根据Lambda表达式的逻辑来对列表进行排序。

Lambda表达式`(a, b) -> pareTo(b)`表示比较两个字符串的大小,并返回比较结果。

除了Lambda表达式,Java函数式编程还引入了Stream API,它提供了一种流式处理数据的方式。

我们可以通过一系列的操作来对流进行转换和处理,例如过滤、映射、排序等。

下面是一个示例,展示了如何使用Stream API来对一个整数列表进行平方操作:```javaList<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5);List<Integer> squares = numbers.stream().map(x -> x * x).collect(Collectors.toList());```在上述示例中,我们首先使用`stream`方法将整数列表转换为流,然后使用`map`方法对流中的每个元素进行平方操作,最后使用`collect`方法将结果收集到一个新的列表中。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1百分制分数到等级分数package pm;public class SwitchTest {//编写程序,实现从百分制分数到等级分数的转换////>=90 A// 80~89 B// 70~79 C// 60~69 D// <60 Epublic static void main(String[] args) {int s=871;switch(s/10){case 10 :System.out.println("A");break;case 9 :System.out.println("A");break;case 8 :System.out.println("B");break;case 7 :System.out.println("c");break;case 6 :System.out.println("D");break;default :System.out.println("E");break;}}}2成法口诀阵形package pm;public class SwitchTest{public static void main(String[] args){for(int i=1;i<=19;i++){for(int j=1;j<=i;j++){System.out.print(j+"*"+i+"="+(i*j)+"\t");}System.out.println();}}}3华氏和摄氏的转换法package pm;import java.util.Scanner;public class SwitchTest {public static void main(String[] args) {Scanner sc=new Scanner(System.in);while (true) {System.out.println("请输入要转换的温度类型:C 或F");String s = sc.next().trim();if ("c".equalsIgnoreCase(s)) {//做摄氏向华摄的转换System.out.println("请输入要转换摄氏的温度:..");double db = sc.nextDouble();double db2 = (db * 9 / 5) + 32;System.out.println("对应的华氏温度:" + db2 + "F");} else if ("f".equalsIgnoreCase(s)) {//做华摄向摄氏的转换System.out.println("请输入要转换华氏的温度:..");double db = sc.nextDouble();double db2 = (db - 132) * 5 / 9;System.out.println("对应的摄氏温度:" + Math.round(db2) + "C");}else if("exit".equalsIgnoreCase(s)){break;}}}}package pm;import java.util.Scanner;public class SwitchTest{public static void main(String[] args) {Scanner sc=new Scanner(System.in);boolean flag=true;while (flag) {System.out.println("请输入要转换的温度,如:50c或100f");String str = sc.nextLine().trim();if (str.endsWith("c") || str.endsWith("C")) {//做摄氏向华摄的转换30cString st = str.substring(0, str.length() - 1);double db = Double.parseDouble(st);//[0,2)//2 double db=Double.valueOf(st).doubleV alue();double db2 = (db * 9 / 5) + 32;System.out.println("对应的华氏温度:" + db2 + "F");} else if (str.endsWith("f") || str.endsWith("F")) {//做华摄向摄氏的转换String st = str.substring(0, str.length() - 1);double db = Double.parseDouble(st);//[0,2)//2 double db=Double.valueOf(st).doubleV alue();double db2 = (db - 132) * 5 / 9;System.out.println("对应的摄氏温度:" + Math.round(db2) + "C");}else if("exit".equalsIgnoreCase(str)){flag=false;}}}}4三个数的最大数package pm;public class SwitchTest {public static void main(String[] args) {int a=1,b=2,c=3,d=0;d=a>b?a:b;d=a>b?(a>=c?a:c):(b=>c?b:c);System.out.println("最多数为:"+d);}}5简单计算器的小程序package one;import java.awt.BorderLayout;import java.awt.GridLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JPanel;import javax.swing.JTextField;public class Jsq implements ActionListener { private JFrame frame;private JButton[] bus;private JTextField jtx;private JButton bu;private char[] strs;private String d_one = "";private String operator;public static void main(String[] args) {new Jsq();}/* 利用构造进行实例化*/public Jsq() {frame = new JFrame("计算器");jtx = new JTextField(14);bus = new JButton[16];strs = "789/456*123-0.+=".toCharArray();for (int i = 0; i < 16; i++) {bus[i] = new JButton(strs[i] + "");bus[i].addActionListener(this);}bu = new JButton("C");bu.addActionListener(this);init();}/* GUI 初始化*/public void init() {JPanel jp1 = new JPanel();jp1.add(jtx);jp1.add(bu);frame.add(jp1, BorderLayout.NORTH);JPanel jp2 = new JPanel();jp2.setLayout(new GridLayout(4, 4));for (int i = 0; i < 16; i++) {jp2.add(bus[i]);}frame.add(jp2, BorderLayout.CENTER);frame.pack();frame.setLocation(300, 400);frame.setV isible(true);frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); }/* 事件的处理*/public void actionPerformed(ActionEvent arg0) {/*获取输入字符*/String conn = arg0.getActionCommand();/*清除计算器内容*/if ("C".equals(conn)) {d_one = "";operator = "";jtx.setText("");return;}/*暂未实现该功能*/if(".".equals(conn)){return;}/*记录运算符,保存运算数字*/if (("+-*/".indexOf(conn)) != -1) {if("".equals(d_one) && "".equals(jtx.getText())) return;d_one = jtx.getText();operator = conn;jtx.setText("");return;}/*计算结果*/if ("=".equals(conn)) {if("".equals(d_one) && "".equals(jtx.getText())) return;double db = 0;if ("+".equals(operator)) {db = Double.parseDouble(d_one)+ Double.parseDouble(jtx.getText());jtx.setText(db + "");}if ("-".equals(operator)) {db = Double.parseDouble(d_one)- Double.parseDouble(jtx.getText());jtx.setText(db + "");}if ("*".equals(operator)) {db = Double.parseDouble(d_one)* Double.parseDouble(jtx.getText());jtx.setText(db + "");}if ("/".equals(operator)) {db = Double.parseDouble(d_one)/ Double.parseDouble(jtx.getText());jtx.setText(db + "");}d_one = db + "";return;}//界面显示jtx.setText(jtx.getText() + conn);}}6三角形图案package pm;public class SwitchTest{public static void main(String[] args){int n=5;for(int i=0;i<=n;i++){for(int j=0;j<n-i;j++){System.out.print(" ");}for(int k=0;k<2*i-1;k++){System.out.print("*");}System.out.println();}}}7输出输入的姓名package pm;import java.util.Scanner;public class SwitchTest{public static void main(String[] args){String name=null;Scanner sca=new Scanner (System.in);char firstChar;do{System.out.println("please input your name");name=sca.nextLine();firstChar=name.charAt(0);}while(!(firstChar>='a' && firstChar<='z' ||firstChar>='A' && firstChar<='Z'));System.out.println("OK! your name is:"+name);}}8一小时倒计时小程序package pm;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JPanel;public class SwitchTest {private JFrame frame;private JLabel jl1;private JLabel jl2;private JLabel jl3;/*主方法*/public static void main(String[] args) {new SwitchTest().getTime();}/*倒计时的主要代码块*/private void getTime(){long time=1*3600;long hour =0 ;long minute =0 ;long seconds=0;while(time>=0){hour=time/3600;minute=(time-hour*3600)/60;seconds=time-hour*3600-minute*60;jl1.setText(hour+"时");jl2.setText(minute+"分");jl3.setText(seconds+"秒");try {Thread.sleep(1000);} catch (InterruptedException e) {e.printStackTrace();}time--;}}/*构造实现界面的开发GUI */public SwitchTest(){frame = new JFrame("倒计时");jl1 = new JLabel();jl2 = new JLabel();jl3 = new JLabel();init();}/*组件的装配*/private void init(){JPanel jp=new JPanel();jp.add(jl1);jp.add(jl2);jp.add(jl3);frame.add(jp);frame.setV isible(true);frame.setLocation(300,400);frame.setSize(300, 200);frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);}}9棋盘图案public class Sjx{public static void main(String[] args){int SIZE=19;for(int i=0;i<SIZE;i++){if(i<10){System.out.print(" "+i);//两个空格}else{System.out.print(" "+(char)(i+'a'-10));//两个空格}}System.out.println();// System.out.print(i<10?(char)(i+'0'):(char)(i+'a'-10));for(int i=0;i<SIZE;i++){if(i<10){System.out.print(i+" ");//一个空格}else{System.out.print((char)(i+'a'-10)+" ");//一个空格}for(int j=0;j<SIZE;j++){System.out.print("*"+" ");//两个空格}System.out.println();}}}10数组输出唐诗package day04;public class ArrayTest {public static void main(String[] args){char[][] arr=new char[4][7];String s="朝辞白帝彩云间千里江陵一日还两岸猿声啼不住轻舟已过万重山";for(int i=0;i<arr.length;i++){for(int j=0;j<arr[i].length;j++){arr[i][j]=s.charAt(i*7+j);}}for(int i=0;i<arr[0].length;i++){for(int j=0;j<arr.length;j++){System.out.print(arr[arr.length-j-1][i]+" ");}System.out.println();}}}11找出满足条件的最小数package day02;public class Fangk{public static void main(String[] args){// for(int i=1000;i<=9999;i++){// int q=i/1000;// int b=i/100%10;// int s=i/10%10;// int g=i%10;// if(q>b && s>g && q+g==b+s && b%2!=0){// System.out.println("The Min Number is:"+i);// break;// }// }loop1: for(int q=1;q<=9;q++){loop2: for(int b=0;b<=9;b++){if(b%2==0){continue loop2;}for(int s=0;s<=9;s++){for(int g=0;g<=9;g++){if(q>b && s>g && q+g==b+s){System.out.println("The Min Number is:"+(q*1000+b*100+s*10+g));break loop1;}}}}}}}12判断一个数是否是素数package day02;public class Fangk{public static void main(String[] args){int num=14;boolean flag=true;for(int i=2;i<=num/2;i++){if(num%i==0){flag=false;break;}}if(flag){System.out.println(num+" is a prime number!");}else{System.out.println(num+" is not a prime number!");}}}//////////////////////////////////////////////////////////////////////package day04;import java.util.Scanner;public class A1{public static void main(String[] args){int n;Scanner sca=new Scanner(System.in);System.out.println("please input a number:");n=sca.nextInt();if(isPrimeNumber(n)){System.out.println(n+"is a prime number!");}else{System.out.println(n+"is not a prime number!");}}public static boolean isPrimeNumber(int n){ for(int i=2;i<=n/2;i++){if(n%i==0){return false;}}return true;}}13一个数倒序排列package day02;public class Daoxu{public static void main(String[] args){int olddata=3758;int newdata=0;while(olddata!=0){for(int i=0;i<4;i++){newdata=newdata*10+olddata%10;olddata=olddata/10;}System.out.println("newdata="+newdata);}}}14将一个整数以二进制输出package day04;import java.util.Scanner;public class ArrayTest {public static void main(String[] args){int n;Scanner s=new Scanner(System.in);System.out.println("please input a number:");n=s.nextInt();for(int i=31;i>=0;i--){if((n&(1<<i))!=0){System.out.print("1");}else{System.out.print("0");}if((32-i)%8==0){System.out.print(" ");}}}}15矩形图案package day02;public class Fangk {public static void main(String[] args){int m=5,n=6;for(int i=0;i<n;i++){System.out.print("* ");}System.out.println();for(int i=0;i<m-2;i++){System.out.print("* ");for(int j=0;j<n-2;j++){System.out.print(" ");}System.out.print("*");System.out.println();}for(int i=0;i<n;i++){System.out.print("* ");}}}16猜数字package day02;import java.util.Scanner;public class Csz {public static void main(String[] args) {Scanner s = new Scanner(System.in);int num = (int) (Math.random() * 1000);int m=0;for(int i=9;i>=0;i--){System.out.println("please input your number! ");m=s.nextInt();if(m>num){System.out.println("Too large!");}else if(m<num){System.out.println("Too small!");}else{System.out.println("Y ou are right!");break;}if(i>0){System.out.println("还有"+i+"次机会!");}}if( m!=num){System.out.println("下次再来吧!");}}}17.HotelManagerpackage hotel;import java.util.Scanner;public class HotelManager {private static String[][] rooms;// 表示房间public static void main(String[] args) {rooms = new String[10][12];String comm;// 表示用户输入的命令for (int i = 0; i < rooms.length; i++) {for (int j = 0; j < rooms[0].length; j++) {rooms[i][j] = "EMPTY";}}//while (true) {System.out.println("请输入命令:");Scanner sca = new Scanner(System.in);System.gc();comm = sca.next();if ("search".equalsIgnoreCase(comm)) {search();} else if ("in".equalsIgnoreCase(comm)) {int roomNo = sca.nextInt();String name = sca.next();in(roomNo, name);} else if ("out".equalsIgnoreCase(comm)) {int roomNo = sca.nextInt();out(roomNo);} else if ("exit".equalsIgnoreCase(comm)) {System.out.println("程序退出...");break;} else {System.out.println("命令输入错误,请重新输入:");}}}private static void out(int roomNo) {if("EMPTY".equals(rooms[(roomNo/100)-1][(roomNo%100)-1])){ System.out.println("该房间没有客人入住,退房失败!");return;}rooms[(roomNo/100)-1][(roomNo%100)-1]="EMPTY";System.out.println(roomNo+"退房成功!");}private static void in(int roomNo, String name) {if(!"EMPTY".equals(rooms[(roomNo/100)-1][(roomNo%100)-1])){ System.out.println("该房间已经有客人入住!");return;}rooms[(roomNo/100)-1][(roomNo%100)-1]=name;System.out.println(name+"成功入住"+roomNo+"房间!");}private static void search() {for (int i = 0; i < rooms.length; i++) {//打印房间号for (int j = 0; j < rooms[0].length; j++) {if (j + 1 < 10) {System.out.print(i + 1 + "0" + (j + 1) + " ");} else {System.out.print(i + 1 + "" + (j + 1) + " ");}}//打印房间状态System.out.println();for (int j = 0; j < rooms[0].length; j++) {System.out.print(rooms[i][j] + " ");}System.out.println();}}}18.StudentManagerpackage day05.student_manager;import java.util.Scanner;public class StudentManager {static int[][] scores=new int[6][5];static String[] students={"zhangsan","lisi","wangwu","zhaoliu","qianqi","liuba"};static String[] courses={"corejava","jdbc","servlet","jsp","ejb"};public static void main(String[] args) {for(int i=0;i<scores.length;i++){for(int j=0;j<scores[i].length;j++){scores[i][j]=(int)(Math.random()*100);}}Scanner s=new Scanner(System.in);String comm;while(true){System.out.println("请输入命令:");comm=s.next();if(comm.equals("A VG")){String para=s.next();avg(para);}else if(comm.equals("SORT")){String course=s.next();sort(course);}else if(comm.equals("GET")){String student=s.next();String course=s.next();get(student,course);}else if(comm.equals("EXIT")){break;}else{System.out.println("命令格式不正确,请重新输入!");}}}//main() end!public static void avg(String para){int sIndex=-1;int cIndex=-1;for(int i=0;i<students.length;i++){if(students[i].equals(para)){sIndex=i;}}if(sIndex==-1){for(int i=0;i<courses.length;i++){if(courses[i].equals(para)){cIndex=i;}}}if(sIndex==-1 && cIndex==-1){System.out.println("找不到学生或课程!");return;}double avg=0.0;if(sIndex!=-1){for(int i=0;i<scores[sIndex].length;i++){avg+=scores[sIndex][i];}avg/=scores[sIndex].length;System.out.println("学生:"+para+"的平均分是:"+avg);}else{for(int i=0;i<scores.length;i++){avg+=scores[i][cIndex];}avg/=scores.length;System.out.println("课程:"+para+"的平均分是:"+avg);}}public static void sort(String course){int[] courseScore=new int[scores.length];if(course.equals("sum")){//如果求总分的排名// //求出每个学生的总分,将成绩存放在courseScore数组中for(int i=0;i<scores.length;i++){int studentSum=0;for(int j=0;j<scores[i].length;j++){studentSum+=scores[i][j];}courseScore[i]=studentSum;}}else{//如果不是求总分排名int cIndex=-1;for(int i=0;i<courses.length;i++){//找到这门课程的下标if(courses[i].equals(course)){cIndex=i;}}if(cIndex!=-1){//如果是一门有效的课程//把scores数组中这一列的值放到courseScore数组中!for(int i=0;i<scores.length;i++){courseScore[i]=scores[i][cIndex];}}else{//如果不是一门有效的课程System.out.println("课程名不正确,请重新输入!");return;}}String[] studentCopy=new String[students.length];System.arraycopy(students, 0, studentCopy, 0, students.length);for(int i=0;i<courseScore.length-1;i++){for(int j=i+1;j<courseScore.length;j++){if(courseScore[i]<courseScore[j]){int temp=courseScore[i];courseScore[i]=courseScore[j];courseScore[j]=temp;String stemp=studentCopy[i];studentCopy[i]=studentCopy[j];studentCopy[j]=stemp;}}}int order=1;System.out.println("名次\t学生\t成绩");for(int i=0;i<courseScore.length;i++){if(i!=0 && courseScore[i]==courseScore[i-1]){order--;}else{order=i+1;}System.out.print(order+"\t");System.out.print(studentCopy[i]+"\t");System.out.println(courseScore[i]);order++;}}public static void get(String student,String course){int sIndex=-1;int cIndex=-1;for(int i=0;i<students.length;i++){if(students[i].equals(student)){sIndex=i;}}if(sIndex==-1){System.out.println("没有这个学生:"+student);return;}if(course.equals("sum")){//如果求总分int studentSum=0;for(int j=0;j<scores[sIndex].length;j++){studentSum+=scores[sIndex][j];}System.out.println(student+"学生的总分为:"+studentSum);return;}for(int i=0;i<courses.length;i++){if(courses[i].equals(course)){cIndex=i;}}if(cIndex==-1){System.out.println("没有这门课程:"+course);return;}System.out.println(student+"学生的"+course+"课程的成绩为:"+scores[sIndex][cIndex]);}}19.Fivepackage hotel;import java.util.Scanner;/*** 首先在程序第一次运行的时候,构建出棋盘,切以后* 不能再从新构建,知道结束,所以将其放到静态代码块中。

相关文档
最新文档