Java 检查数学函数是否有效

Java 检查数学函数是否有效,java,java.util.scanner,Java,Java.util.scanner,我得到了函数{1,2,3,4,5}。我必须接收用户输入他想要多少个有序对,然后验证函数是否有效(x坐标的值必须在1到5之间,并且x坐标不能重复)。我知道如何循环并检查X的值是否在1和5之间,但是,我在检查字符串是否存在重复元素时遇到了问题。我为小于1且大于5的x编写了条件表达式,但如何编写检查重复元素的表达式却让我感到困惑。谁能帮我一下吗?这就是我到目前为止所做的: import java.util.Scanner; public class Functions { public st

我得到了函数{1,2,3,4,5}。我必须接收用户输入他想要多少个有序对,然后验证函数是否有效(x坐标的值必须在1到5之间,并且x坐标不能重复)。我知道如何循环并检查X的值是否在1和5之间,但是,我在检查字符串是否存在重复元素时遇到了问题。我为小于1且大于5的x编写了条件表达式,但如何编写检查重复元素的表达式却让我感到困惑。谁能帮我一下吗?这就是我到目前为止所做的:

import java.util.Scanner;

public class Functions
{
    public static void main (String args [])
    {
        Scanner in = new Scanner (System.in);

        int []domain = new int [5];
        int [] range = new int [5];
        int orderedPairs = 0;

        System.out.println ("Enter the number of ordered pairs please: ");
        orderedPairs = in.nextInt();
        while (orderedPairs < 0 || orderedPairs > 5)
        {
            System.out.println ("This input is invalid. Enter a number between 0 and 5 and try   again:");
            orderedPairs = in.nextInt ();
        }

        for (int i = 0; i < orderedPairs; i++)
        {
            System.out.println ("Enter the x-coordinate please: ");
            domain [i][0] = in.nextInt();

            System.out.println ("Enter the y-coordinate please: ");
            range [i][0] = in.nextInt();
        }

        for (int i = 0; i < orderedPairs; i++)
        {
            System.out.println ("f(" + domain [i][0] + "): " + range [i][0]);
        }

        for (int i = 0; i < orderedPairs;i++)
        {
            if (domain [i][0] > 5 || domain [i][0] < 1)
            {
                function = false;
            }

            for (int n = i + 1; n < orderedPairs; n++)
            {
                if (domain[i] == domain [n] && range [n] != range [i])
                {
                    function = false;
                }
            }
        } 
    }
}
import java.util.Scanner;
公共类功能
{
公共静态void main(字符串参数[])
{
扫描仪输入=新扫描仪(系统输入);
int[]域=新int[5];
int[]范围=新的int[5];
int orderedPairs=0;
System.out.println(“请输入订购对的数量:”;
orderedPairs=in.nextInt();
而(orderedPairs<0 | | orderedPairs>5)
{
System.out.println(“此输入无效。请输入一个介于0和5之间的数字,然后重试:”;
orderedPairs=in.nextInt();
}
for(int i=0;i5 | |域[i][0]<1)
{
函数=假;
}
对于(int n=i+1;n
编辑:
显然,这就是它所需要的一切!:)

最简单的方法是:

1) 在所有域上循环

2) 对于每个域,检索其值。然后在域上循环,计算其值等于检索到的值的域数


3) 如果每个域的值不是1,请报告错误。

如果这是家庭作业,请添加“家庭作业”标签。谢谢,你太棒了,我感谢你的帮助!我现在知道怎么做了:)