Java 随机生成四则运算式并生成答案
时间:2022-07-26
本文章向大家介绍Java 随机生成四则运算式并生成答案,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
如图,这是....Java课上的一个作业,emm
不太想解释怎么写了,涉及到的文件操作,可以看这篇
/**
* @Title: shu.java
* @Description: TODO
* @author 菱形继承
* @date 2020-03-10 10:34:39
*/
package a;
/**
* @ClassName: shu
* @Description: TODO
* @author 菱形继承
* @date 2020-03-10 10:34:39
*/
import java.io.FileNotFoundException;
import java.io.InputStream;
import java.io.PrintStream;
import java.io.OutputStream;
import java.util.Scanner;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.Writer;
public class shengcheng {
public static void main(String[] args) throws IOException {
File file= new File("C:\Users\ASUS\Desktop\Java\2020 3 10\src\a\result.txt");
PrintStream ps = new PrintStream("C:\Users\ASUS\Desktop\Java\2020 3 10\src\a\shengcheng.txt");
Writer out = new FileWriter(file);
int c;
Scanner sc=new Scanner(System.in);
System.out.print("请输入题目个数:");
int tg=sc.nextInt();
System.out.print("请输入操作数的范围(如 100,1000等):");
int tf=sc.nextInt();
System.out.println("请选择是否有负数:1:有 0:没有");
int zf=sc.nextInt();
System.out.println("请选择是否包含*或者/:2:否 4:是 ");
int fu=sc.nextInt();
System.setOut(ps);
for(int i=0;i<tg;i++) {//循环控制题目个数
//第一个操作数的选择
int a=(int)(Math.random()*tf);
if(zf==1) {//有负数
int p=(int) (Math.random()*2);
switch(p) {
case 0:a=a*(-1);//取负数
System.out.print(a);break;
case 1:
System.out.print(a);break;
}
}
if(zf==0)System.out.print(a);
else{//选择两个字符‘+’‘-’
int k=(int)(Math.random()*2);
switch(k) {//随机选择运算符
case 0:System.out.print("+");
break;
case 1:System.out.print("-");
break;
}
int b=(int)(Math.random()*(tf-a));
while(b>a)b=(int)(Math.random()*(tf-a));
if(zf==1) {//有负数
int p=(int) (Math.random()*2);
switch(p) {
case 0:b=b*(-1);//取负数
System.out.print(b);break;
case 1:
System.out.print(b);break;
}
}
else System.out.print(b);
System.out.println("=");
String huanhang="rn";
if(k==0)
{
c=a+b;
out.write( Integer.toString(c)+huanhang);
}
else {c=a-b; out.write( Integer.toString(c)+huanhang);}
}
if(fu==4) {//四个字符的‘+’‘-’‘*’‘/’
int k=(int)(Math.random()*4+1);
switch(k) {//随机选择运算符
case 1:System.out.print("+");break;
case 2:System.out.print("-");break;
case 3:System.out.print("*");break;
case 4:System.out.print("/");break;
}
//第二个操作数的选择
int b=(int) (Math.random()*tf+1);
if(zf==1) {//有负数
int p=(int) (Math.random()*2);
switch(p) {
case 0:b=b*(-1);//取负数
System.out.print(b);break;
case 1:
System.out.print(b);break;
}
}
if(zf==0) System.out.print(b);
System.out.println("=");
if(k==1) {
c=a+b;out.write(c);
}
if(k==2) {
c=a-b;out.write(c);
}
if(k==3) {
c=a*b;out.write(c);
}
if(k==4) {
c=a/b;out.write(c);
}
}
}out.close();
}
}
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释
- Android巧用XListView实现万能下拉刷新控件
- Android获取其他应用中的assets资源
- Android自定义动态壁纸开发详解
- VsCode插件koroFileHeader一键添加文件头部注释
- 强大的 Stream API(一)
- python3 配置logging日志类的操作
- 你对CSS权重真的足够了解吗?
- python opencv实现图片缺陷检测(讲解直方图以及相关系数对比法)
- Js 的事件循环(Event Loop)机制以及实例讲解
- 你不知道的js中关于this绑定机制的解析[看完还不懂算我输]
- 解决Django部署设置Debug=False时xadmin后台管理系统样式丢失
- 算法-查找斐波纳契数列中第 N 个数
- 在python中修改.properties文件的操作
- Django Xadmin多对多字段过滤实例
- 算法-姓名去重