zoukankan      html  css  js  c++  java
  • 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型第三个是字符串所以连接输出了运算结果和字符串。

  • 相关阅读:
    React 之form表单、select、textarea、checkbox使用
    React 事件对象、键盘事件、表单事件、ref获取dom节点、react实现类似Vue双向数据绑定
    React事件方法、React定义方法的几种方式、获取数据、改变数据、执行方法传值
    react综合案例-todolist、localstorage缓存数据
    【剑指offer15】二进制中1的个数(位运算),C++实现
    【剑指offer】10矩阵覆盖
    【剑指offer】09-3变态跳台阶
    【剑指offer】顺时针打印矩阵,C++实现
    【剑指offer】09-2跳台阶,C++实现
    leetcode1143
  • 原文地址:https://www.cnblogs.com/ICDTAD/p/11553384.html
Copyright © 2011-2022 走看看