方法动手动脑及实验

一。SquareInt.java    

  public class SquareInt {

  public static void main(String[] args) {
  int result;

  for (int x = 1; x <= 10; x++) {
  result = square(x);
  // Math库中也提供了求平方数的方法
  // result=(int)Math.pow(x,2);
  System.out.println("The square of " + x + " is " + result + "\n");
  }
  }

  // 自定义求平方数的静态方法
  public static int square(int y) {
  return y * y;
  }
  }

  结果截图:

二。RandomInt.java

  import javax.swing.JOptionPane;

  public class RandomInt {
  public static void main( String args[] )
  {
  int value;
  String output = "";

  for ( int i = 1; i <= 20; i++ ) {
  value = 1 + (int) ( Math.random() * 6 );
  output += value + " ";

  if ( i % 5 == 0 )
  output += "\n";
  }

  JOptionPane.showMessageDialog( null, output,
  "20 Random Numbers from 1 to 6",
  JOptionPane.INFORMATION_MESSAGE );

  System.exit( 0 );
  }
  }

  结果截图:

三。RollDie.java

  

  import javax.swing.*;

  public class RollDie {
  public static void main( String args[] )
  {
  int frequency1 = 0, frequency2 = 0,
  frequency3 = 0, frequency4 = 0,
  frequency5 = 0, frequency6 = 0, face;

  // summarize results
  for ( int roll = 1; roll <= 6000; roll++ ) {
  face = 1 + (int) ( Math.random() * 6 );

  switch ( face ) {
  case 1:
  ++frequency1;
  break;
  case 2:
  ++frequency2;
  break;
  case 3:
  ++frequency3;
  break;
  case 4:
  ++frequency4;
  break;
  case 5:
  ++frequency5;
  break;
  case 6:
  ++frequency6;
  break;
  }
  }

  JTextArea outputArea = new JTextArea( 7, 10 );

  outputArea.setText(
  "Face\tFrequency" +
  "\n1\t" + frequency1 +
  "\n2\t" + frequency2 +
  "\n3\t" + frequency3 +
  "\n4\t" + frequency4 +
  "\n5\t" + frequency5 +
  "\n6\t" + frequency6 );

  JOptionPane.showMessageDialog( null, outputArea,
  "Rolling a Die 6000 Times",
  JOptionPane.INFORMATION_MESSAGE );
  System.exit( 0 );
  }
  }

  结果截图:

四。编写一个算法,使用有以上算法生成指定数目(比如1000个)的随机整数。

  

五。VariableArgumentsTest.java

  import java.awt.*;

  import java.awt.event.*;
  import java.util.*;

  public class VariableArgumentsTest{

  public static double max(double...values)
  {
  double largest=Double.MIN_VALUE;
  for (double v:values)
  if(v>largest) largest=v;
  return largest;
  }

  public static void main(String args[]) {

  System.out.println("Max:"+max(1,11,300,2,3));

  }
  }

  结果截图:

六。观察一下代码,你发现有什么特殊之处吗?  

  public class MethodOverload {

  public static void main(String[] args) {
  System.out.println("The square of integer 7 is " + square(7));
  System.out.println("\nThe square of double 7.5 is " + square(7.5));
  }

  public static int square(int x) {
  return x * x;
  }

  public static double square(double y) {
  return y * y;
  }
  }

  特殊之处:方法名相同,返回值类型和参数类型不同,输入需要进运算的参数会执行其相应类型的运算。

七。CalculateN.java  

  import java.math.BigInteger;
  import java.util.Scanner;

  public class CalculateN {

  /**
  * @param args
  */
  public static void main(String[] args) {
  System.out.print("请输入N:");
  Scanner scanner=new Scanner(System.in);
  int number=scanner.nextInt();
  System.out.println(number+"!="+calculateN2(number));

  }

  public static long calculateN(int n) {
  if(n==1 || n==0){
  return 1;
  }

  return n*calculateN(n-1);
  }

  public static BigInteger calculateN2(int n) {
  if(n==1 || n==0){
  return BigInteger.valueOf(1);
  }
  return BigInteger.valueOf(n).multiply(calculateN2((n-1)));
  }
  }

  结果截图:

时间: 2024-11-15 13:44:22

方法动手动脑及实验的相关文章

有关动手动脑的实验总结

1.以下代码的输出结果是什么? int X=100; int Y=200; System.out.println("X+Y="+X+Y); System.out.println(X+Y+"=X+Y"); 因为 “+”在java中具有连接的意义,所以当加法加入其中容易发生歧义并且产生与预期相不符的结果,如第一条代码. 所以我们要采用第二条代码的表示方法来避免这种错误. 2.仔细阅读示例: EnumTest.java,运行它,分析运行结果? 枚举不属于原始数据类型,它的

第七讲继承与接口动手实验和动手动脑

[动手实验一] 继承条件下的构造方法调用 运行 TestInherits.java示例,观察输出,注意总结父类与子类之间构造方法的调用关系修改Parent构造方法的代码,显式调用GrandParent的另一个构造函数,注意这句调用代码是否是第一句,影响重大! 结论:通过 super 调用基类构造方法,必须是子类构造方法中的第一个语句. TestInherits.java class Grandparent { public Grandparent() { System.out.println("

java动手动脑和课后实验型问题String类型

1.请运行以下示例代码StringPool.java,查看其输出结果.如何解释这样的输出结果?从中你能总结出什么? true true false 总结: 使用new关键字创建字符串对象时, 每次申请新开辟一个地址空间,存储的地址空间不一样(对象不同),string类型下hello是同一个对象,其内容和地址都相容. 2. public class StringEquals { /** * @param args the command line arguments */ public stati

java动手动脑和课后实验型问题第四讲

1.完全"手写代码实现"随机数生成 动手动脑: 编写一个方法,使用以上算法生成指定数目(比如1000个)的随机整数. Modulus=231-1=int.MaxValue Multiplier=75=16807 C=0 当显示过231-2个数之后,才可能重复. 编写一个方法,使用以上算法生成指定数目(比如1000个)的随机整数. public class suiji { private static final int N = 200; private static final int

动手动脑问题的实验

动手动脑1 public class EnumTest { public static void main(String[] args) { Size s=Size.SMALL; Size t=Size.LARGE; //s和t引用同一个对象? System.out.println(s==t); // //是原始数据类型吗? System.out.println(s.getClass().isPrimitive()); //从字符串中转换 Size u=Size.valueOf("SMALL&q

java动手动脑08

一.动手动脑 1)源代码: public class ParentChildTest { public static void main(String[] args) { Parent parent=new Parent(); parent.printValue(); Child child=new Child(); child.printValue(); parent=child; parent.printValue(); parent.myValue++; parent.printValue

JAVA语法基础作业——动手动脑以及课后实验性问题 (七)

一.动手动脑 1)源代码 public class ParentChildTest { public static void main(String[] args) { Parent parent=new Parent(); parent.printValue(); Child child=new Child(); child.printValue(); parent=child; parent.printValue(); parent.myValue++; parent.printValue(

java多态动手动脑

实验任务一:多态实现ATM工作原理 1)源代码: package demo; import java.util.Scanner; class A{ String name; String date; String mima; int yu; String kahao; public A(String name,String date,String mima,int yu,String kahao) { this.name=name; this.date=date; this.mima=mima;

动手动脑,无法自拔(3)课时作业6

1.动手动脑(五子棋棋盘排布) (1)源程序 1 import java.io.*; 2 3 public class QiPan 4 { 5 //定义一个二维数组来充当棋盘 6 private String[][] board; 7 //定义棋盘的大小(宏定义) 8 private static int BOARD_SIZE = 15; 9 10 //初始化棋盘 11 public void initBoard() 12 { 13 //初始化棋盘数组 14 board = new String