• JAVA课上动手动脑问题以及课后测试1,2总结


    课堂测试1      像二柱子那样,花二十分钟写一个能自动生成30道小学四则运算题目的 “软件”

                  2    (1)题目避免重复

                        (2)可定制(数量/打印方式)

    设计思路

    1)产生两个1-100的随机数作为题目参与运算的数据,产生另一组随机数,以此随机运算符

    2)  运用交换使结果非负。

    3)运用判断,循环语句保证出题不重复。

    4)运用判断,循环语句保证结果为正数。用for循环控制出题个数n,用循环变量i对控制一行中题目的个数。

    源代码

    import java.util.Random;
    import java.util.Scanner;
    public class Test {
    static Scanner r = null;
    public static int a = new Random().nextInt(100);
    public static int b = new Random().nextInt(100);
    public static int c = new Random().nextInt(100);
    public static int subjust[][]=new int[100][2] ;
    public static int operator[]=new int[100];
    public static void main(String[] args) {
    r = new Scanner(System.in);
      System.out.println("请输入总题数:");
    int n=r.nextInt();
      System.out.println("请输入每行的题数:");
    int m=r.nextInt();
    for(int i=0;i<n;i++) {
    if((i)%m==0)
    	a = new Random().nextInt(100);
    	System.out.print(a);
    	b = new Random().nextInt(100);
    	c = new Random().nextInt(100);	
    	subjust[i][0]=a;
    	subjust[i][1]=c;
    	operator[i]=b;
    	for(int j=0;j<i;j++) {
    	if(subjust[j][0]==a&&subjust[j][1]==c&&operator[j]==b) {
    	c = new Random().nextInt(100);
    	while(c==subjust[i][1]) {
    	c = new Random().nextInt(100);
    	}
    	c = new Random().nextInt(100);
    	while(c==subjust[i][1]) {
    	}
    	}}
    	if(b%4==0)
    		System.out.print("+");
    		if(b%4==1) {
    		System.out.print("-");
    		while(a<c) {
    		c = new Random().nextInt(100);
    		}
    		}
    		if(b%4==2) {
    		System.out.print("*");
    		while(a*c>=100) {
    
    		c = new Random().nextInt(100);
    		}}
    		if(b%4==3) {
    			System.out.print("/");
    			while(c!=0&&a/c!=0){
    			c = new Random().nextInt(100);
    		}
    		}
    System.out.print("
    ");
    System.out.print((i+1)+":");
    System.out.print(c);
    System.out.print("=");
    System.out.print(" "+'	');
    }}}
    

      动手动脑

    1.运行结果

    结论

    1)枚举变量中实例化的对象的不同元素的地址不同

    2)可用“==”比对枚举变量的值。

    2.结论

     java中的基本数据类型转换分为自动类型转换和强制类型转换。强制类型转换可能会有存储精度的损失。自动类型转换不会有存储精度的损失。

    3.结果

    结论

    意外,原因:变量的存储方式不同,不同浮点数在计算机中存的尾数不同

    4.结果

    结论

    System.out.println里面的加号可用于连接字符串 , 假如需要连接的字符串比较长此时也可用加号进行换行连接。
    本题中第一个遇到的是字符串,所以后面的X,Y也转换为字符转连接输出了。
    第二个则是第一个遇到的X与第二个遇到的Y是int型第三个是字符串所以连接输出了运算结果和字符串。

  • 相关阅读:
    学习笔记10-用户和组
    学习笔记9-环境变量
    学习笔记8-检测磁盘空间
    学习笔记7-监测程序
    学习笔记6-权限管理
    【数学】矩阵的逆
    【数学】矩阵
    【数学】Polya定理
    【图论】必经点和必经边
    【图论】点双连通分量
  • 原文地址:https://www.cnblogs.com/ICDTAD/p/11553384.html
Copyright © 2020-2023  润新知