ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

测试2错误纠正

2022-09-09 22:03:50  阅读:161  来源: 互联网

标签:纠正 错误 int System else getDo 测试 print out


错误纠正

这次来一篇简单的四则运算程序吧!

四则运算程序

//Main.java
import java.util.Random;
import java.util.Scanner;

public class Main{
//主界面
        public static void main(String[] args)
        {
            while(true) {
                Scanner sc = new Scanner(System.in);

                System.out.println("请输入你想要打印的题目数量:");
                int sum = sc.nextInt();            
                System.out.println("请输入操作数的个数:");
                int count = sc.nextInt();            
                System.out.println("请输入操作数的范围:");
                int ff = sc.nextInt();                
                System.out.println("请输入是否有乘除法?1、有  2、没有");
                int x = sc.nextInt();               
                System.out.println("请输入是否添加括号?1、是  2、否");
                int y = sc.nextInt();              
                if (sum < 1 || count < 2 || ff < 0 || (x != 1 && x != 0) || (y != 1 && y != 0)) {
                    System.out.println("输入错误,请重新输入!");
                } else {
                    getAnswer(sum, count, ff, x, y);
                    System.exit(-1);
                }
            }
        }
    //操作完成界面
        public static void getAnswer(int sum,int count,int ff,int x,int y)
        {
            Random random = new Random();
            int[] admin = new int[sum+10000];
            int[] getDo = new int[count*2-1];
            int flag = 0;
            for(int j = 0;j < sum - flag;j++)
            {
                boolean ss = true;

                int left = random.nextInt(count - 1);
                int right = random.nextInt(count - left) + left + 1;

                for(int i = 0;i < count*2-1 ;i++)
                {
                    getDo[i] = random.nextInt(ff);
                }
                for(int t = 0; t < count;t++)
                {
                    admin[j] += getDo[t*2]*t;
                }

                for(int k = 0; k < j ;k++)
                {
                    if(admin[k] == admin[j])
                    {
                        sum++;
                        flag++;
                        ss = false;
                        break;
                    }
                }
                if(ss)
                {
                    for(int t = 0;t < count * 2 - 1 ;t++)
                    {
                        if(y == 1)
                        {
                            if( 2*left == t)
                                System.out.print("(");
                            if(t%2 == 0 && t!= count*2-2)
                            {
                                System.out.print(getDo[t] + " ");
                                if( 2*right - 2 == t)        //2*iNumd - 1 == t
                                    System.out.print(")");
                            }
                            else if(t == count*2-2)
                            {
                                System.out.print(getDo[t]);
                                if( 2*right - 2 == t)
                                    System.out.print(")");
                                System.out.println(" =");
                            }
                            else if(t % 2 == 1)
                            {
                                if(x == 1)
                                {
                                    if(getDo[t]%4 == 1)
                                    {
                                        System.out.print("+ ");
                                    }
                                    else if(getDo[t]%4 == 2)
                                    {
                                        System.out.print("- ");
                                    }
                                    else if(getDo[t]%4 == 3)
                                    {
                                        System.out.print("* ");
                                    }
                                    else if(getDo[t]%4 == 0)
                                    {
                                        System.out.print("/ ");
                                    }
                                }
                                else if(x == 0)
                                {
                                    if(getDo[t]%2 == 1)
                                    {
                                        System.out.print("+ ");
                                    }
                                    else if(getDo[t]%2 == 0)
                                    {
                                        System.out.print("- ");
                                    }
                                }
                            }
                        }
                        else
                        {
                            if(t%2 == 0 && t!= count*2-2)
                            {
                                System.out.print(getDo[t] + " ");
                            }
                            else if(t == count*2-2)
                            {
                                System.out.println(getDo[t] + " =");
                                if( 2*right - 1 == t)
                                    System.out.print(")");
                            }
                            else if(t % 2 == 1)
                            {
                                if(x == 1)
                                {
                                    if(getDo[t]%4 == 1)
                                    {
                                        System.out.print("+ ");
                                    }
                                    else if(getDo[t]%4 == 2)
                                    {
                                        System.out.print("- ");
                                    }
                                    else if(getDo[t]%4 == 3)
                                    {
                                        System.out.print("* ");
                                    }
                                    else if(getDo[t]%4 == 0)
                                    {
                                        System.out.print("/ ");
                                    }
                                }
                                else if(x == 0)
                                {
                                    if(getDo[t]%2 == 1)
                                    {
                                        System.out.print("+ ");
                                    }
                                    else if(getDo[t]%2 == 0)
                                    {
                                        System.out.print("- ");
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }

标签:纠正,错误,int,System,else,getDo,测试,print,out
来源: https://www.cnblogs.com/liuzijin/p/16672861.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有