JAVA学习第二周课后作业

Java 的基本运行单位是类。
类由数据成员和函数成员组成。
变量之间可以相互转换。
String是一个类。
static是静态、全局的意思。
经过测试,Java的枚举类型定义的Size与String一样都不是Java的原有数据类型
适当的修改测试的原程序代码:
package shangke.dierzhou;

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");
  System.out.println(s==u);  //true
  //列出它的所有值
  String name="name";
  System.out.println(name.getClass().isPrimitive());
  int sss=1;
  System.out.println();
  System.out.println();
  int i=0;
  System.out.println();
  for(Size value:Size.values()){
   System.out.println(value);
   i++;
  }
  System.out.println(i);
 }
}
 enum Size{SMALL,MEDIUM,LARGE};
测试结果是:
false
false
true
false
SMALL
MEDIUM
LARGE
这个测试结果证明了String和枚举定义的类型一样都不是原有数据类型。
基本的枚举类型使用方法一样掌握。
TestDouble测试代码:
package shangke.dierzhou;
 

public class TestDouble {
    public static void main(String args[]) {
        System.out.println("0.05 + 0.01 = " + (0.05 + 0.01));
        System.out.println("1.0 - 0.42 = " + (1.0 - 0.42));
        System.out.println("4.015 * 100 = " + (4.015 * 100));
        System.out.println("123.3 / 100 = " + (123.3 / 100));
    }
}
这个测试让我很惊醒,正如老师所讲的在与数字打交道时要谨慎谨慎再谨慎。
double类型在精度问题上是因为在机器语言中该数据超出了double类型的位数,采取高位截断的方式导致了结果的精度差。
package text;
public class text1 {
 
 public static void main(String[] args) {
  
  
  int X=100;
  int Y=200;
  System.out.println("X+Y="+X+Y);
  System.out.println(X+Y+"X+Y");  
 } 
}
这个代码的结果:
X+Y=100200
300X+Y
出现这种结果是因为第一个输出双引号在前所以就直接相当于字符串连接后面的“+”号相当于字符号连接符并没有进行加法
而第二个是先进行加法在遇到双引号之后才将第二个“+”当做字符串连接符号。
当堂测试四则运算源代码:
package shangke.dierzhou;
import java.util.Random;
import java.util.Scanner;
public class sizeyunsuan {
 
 public static void main(String[] args) {
  int a1=0,a2=0;
  int flag=0;
  int flag1=1;
  int flag2=1;
  int flag3=1;
  int flag4=1;
  int k1=0,k2=0,k3=0,k4=0;
  int s1[][]=new int[10000][2];
  int s2[][]=new int[10000][2];
  int s3[][]=new int[10000][2];
  int s4[][]=new int[10000][2];
  int n,m;
  Scanner in=new Scanner(System.in);
  System.out.println("请输入需要多少个题");
  n=in.nextInt();
  System.out.println("请输入一行几个题");
  m=in.nextInt();
  for(int i=1;i<=n;)
  {
   Random b=new Random();
   Random c=new Random();
   a1=b.nextInt(100);
   a2=c.nextInt(100);
   if(a1%4==0)
   {
    flag1=1;
    for(int j=0;j<=k1;j++)
    {
     if(s1[j][0]==a1&&s1[j][1]==a2)flag1=0;
    }
    if(flag1==1)
    {
     flag=1;
     //System.out.println("这是第"+i+"题");
     System.out.print(a1+"+"+a2+"=");
     s1[k1][0]=a1;
     s1[k1][1]=a2;
     k1++;
    }
   
   }
   if(a1%4==1)
   {
    flag2=1;
    for(int j=0;j<=k2;j++)
    {
     if(s2[j][0]==a1&&s2[j][1]==a2)flag2=0;
    }
    if(flag2==1)
    {
     flag=1;
     if(a1>a2)
     {
      //System.out.println("这是第"+i+"题");
      System.out.print(a1+"-"+a2+"=");
      s2[k2][0]=a1;
      s2[k2][1]=a2;
      k2++;
     }
     else
     {
      //System.out.println("这是第"+i+"题");
      System.out.print(a2+"-"+a1+"=");
      s2[k2][0]=a1;
      s2[k2][1]=a2;
      k2++;
     }
    }
    
   }
   if(a1%4==2&&a1*a2<=100)
   {
    flag3=1;
    for(int j=0;j<=k3;j++)
    {
     if(s3[j][0]==a1&&s3[j][1]==a2)flag3=0;
    }
    if(flag3==1)
    {
     flag=1;
     //System.out.println("这是第"+i+"题");
     System.out.print(a1+"*"+a2+"=");
     s3[k3][0]=a1;
     s3[k3][1]=a2;
     k3++;
    }
    
   }
   if(a1%4==3&&a1!=0&&a2!=0)
   {
    flag4=1;
    for(int j=0;j<=k4;j++)
    {
     if(s4[j][0]==a1&&s4[j][1]==a2)flag4=0;
    }
    if(flag4==1)
    {
     if(a1%a2==0)
     {
      flag=1;
      //System.out.println("这是第"+i+"题");
      System.out.print(a1+"/"+a2+"=");
      s4[k4][0]=a1;
      s4[k4][1]=a2;
      k4++;
     }
     if(a2%a1==0)
     {
      flag=1;
      //System.out.println("这是第"+i+"题");
      System.out.print(a2+"/"+a1+"=");
      s4[k4][0]=a2;
      s4[k4][1]=a1;
      k4++;
     }
    }
   }
   if(flag==1)
   {
    i++;
    flag=0;
    System.out.print("  ");
    if((i-1)%m==0)
    {
     System.out.println();
    }
   }
   
  }
  
 }
}
这个四则运算可以根据用户要求出题的个数和每行多少道题

转载于:https://www.cnblogs.com/yizhixiaozhu/p/11539730.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
《PHP基础教程案例(第2版)》的课后作业是通过实践来巩固学习的知识和技能。在这本书中,作者通过具体的案例来讲解PHP的基础知识点和应用技巧,课后作业则是为了帮助读者更好地理解和应用这些知识。 课后作业可以包括以下几个方面的内容: 1. 编写代码:根据书中案例的要求,编写相应的PHP代码。这些代码可以是简单的输出语句,也可以是基于数据库的数据操作。 2. 调试错误:通过阅读书中案例的代码和错误信息,找出其中的错误并进行修复。这个过程可以帮助读者提升自己的调试能力和解决问题的能力。 3. 思考问题:根据书中案例的要求,思考其中的问题并给出自己的解决方案。这个过程可以帮助读者培养自己的思考能力和创造性思维,增强对知识的理解和应用能力。 4. 扩展任务:在完成基础任务的基础上,可以进行一些额外的扩展任务。例如,对案例中的功能进行升级或改进,添加一些新的功能等。这个过程可以帮助读者巩固已有的知识,并在实践中学习新的知识。 通过完成这些课后作业,读者可以加深对PHP基础知识的理解和应用,提高自己的编程能力,为今后的学习和工作奠定坚实的基础。同时,通过实践中的问题解决和代码编写,读者还能积累宝贵的经验,提高自己的解决问题的能力和创造能力。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值