Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 随机整数与排序_Java_Arrays_Sorting - Fatal编程技术网

Java 随机整数与排序

Java 随机整数与排序,java,arrays,sorting,Java,Arrays,Sorting,因此,我参加了AP计算机科学(在线课程),我们的老师给我们布置了以下作业: 创建名为SelectionSort的公共类,该类具有以下特征: 包括一个私有实例变量,该变量是一个100000整数的数组 包含一个私有实例变量,该变量存储排序期间运行的语句数 包含一个私有实例变量,该变量存储搜索期间运行的语句数 创建一个名为“sort”的公共mutator方法,该方法将int数组作为参数,如果数组超过100000个元素,则引发异常,否则使用选择排序算法将数组存储为排序列表,并计算排序列表所需执行的语句数

因此,我参加了AP计算机科学(在线课程),我们的老师给我们布置了以下作业: 创建名为SelectionSort的公共类,该类具有以下特征:

包括一个私有实例变量,该变量是一个100000整数的数组

包含一个私有实例变量,该变量存储排序期间运行的语句数

包含一个私有实例变量,该变量存储搜索期间运行的语句数

创建一个名为“sort”的公共mutator方法,该方法将int数组作为参数,如果数组超过100000个元素,则引发异常,否则使用选择排序算法将数组存储为排序列表,并计算排序列表所需执行的语句数

创建一个名为“linearSearch”的公共查询方法,该方法将以int为值,使用线性搜索算法进行搜索,并返回一个字符串,说明“在执行[count]语句后未找到整数[int]”或“在执行[count]语句后未在[index]位置找到整数[int]”

创建一个名为“binarySearch”的公共查询方法,该方法与linearSearch的功能相同,但实现了二进制搜索算法

创建一个名为“toString”的公共访问器方法,该方法将以字符串形式返回排序列表,每个元素之间带有换行符(\n)

创建一个名为“getSortCount”的公共访问器方法,该方法将返回为对列表进行排序而执行的语句数

创建第二个名为BubbleSort或InsertionSort的公共类(由您选择),除了实现冒泡排序或插入排序算法之外,其他特性都相同

创建具有以下特征的主tester类:

提示用户输入一个介于1和100000之间的数字以设置数组的大小

提示用户输入介于1和要搜索的数组大小之间的整数搜索值

生成值介于1和数组大小之间的随机数数组

将随机数列表打印到屏幕上

创建SelectionSort对象和BubbleSort或InsertionSort对象,并将随机数组传递给它们进行排序

使用对象“getSortCount”访问器方法,将两条语句打印到屏幕上,显示为每种排序类型执行的语句数,行为“为[Selection/Bubble/Insertion]排序执行[count]语句”

使用linearSearch和binarySearch方法在每个对象中搜索搜索值

将4条语句打印到终端,对于两个对象中的每一个对象,每种类型的搜索都有两条语句,内容如下:“[Selection/Bubble/Insertion]排序对象中[search value]的[Linear/Binary]搜索结果:[由linearSearch或binarySearch方法返回的结果]”

您将希望使用toString方法作为故障排除工具,以缓慢、渐进的方式构建排序类和主tester类,并从非常小的数组(大约10个元素)开始。一旦您确信您的程序工作正常,请尝试逐渐增大数组,并记录打印到终端的结果

到目前为止,我参加了SelectionSort班。我一直停留在“创建一个名为“toString”的公共访问器方法”上,该方法将以字符串形式返回排序列表,每个元素之间有一个换行符(\n)。 创建名为“getSortCount”的公共访问器方法,该方法将返回为对列表进行排序而执行的语句数。”

这是我目前的代码:

import java.util.Scanner;


    public class SelectionSort{

    private int stateSort;
    private int stateSearch;
    int fin[] = new int [100000];
    int smallerNumber;
    private int j;
    private int i;
    public boolean Sort(int fin[]){
        if (! (0 <= fin[100000] || fin[100000]>100000)){
        return false;
}
        else{  
                for (int i = 0; i < fin.length - 1; i++) {
                         int index = i;                          
                             for (int j = i + 1; j < fin.length; j++){
                             if (fin[j] < fin[index])
                                 index = j;
                                 int smallerNumber = fin[index]; 
                                 fin[index] = fin[i];
                                 fin[i] = smallerNumber;    
                     }
                    }
    }
    return true;
}
public int getState(){
    return j;
}
int linearSearch (int[] a, int stateSearch){
    for (int i = 0; i <a.length; i++){
         if (a[i] < stateSearch || a[i] > stateSearch){
        System.out.println("The integer" + stateSearch + "was not found after" + a.length +"statements.");
    }
    if(a[i] == stateSearch){
    System.out.println("The integer" + stateSearch + "was found after" + a.length + "statements.");
    return i;
}
} 
return -1;
}
int binarySearch (int[] a, int stateSearch){
    int left = 0;
    int right = a.length - 1;
    while (left <= right){
        int midpoint = (left + right)/2;
        if (a[midpoint] == stateSearch){
        System.out.println("The integer" + stateSearch + "was found after" + a.length + "statements.");
        return midpoint;
    }
        else if (a[midpoint] < stateSearch){
        left = midpoint + 1;
    }
        else{
        right = midpoint - 1;
        System.out.println("The integer" + stateSearch + "was not found after" + a.length +"statements.");
    }
    }
    return -1;
}
public String toString(){
    return stateSearch;
}

}
import java.util.Scanner;
公共类选择排序{
私有int stateSort;
私人搜索;
国际金融机构[]=新国际金融机构[100000];
int smallerNumber;
私人int j;
私人互联网i;
公共布尔排序(int-fin[]){
如果(!(0 100000)){
返回false;
}
否则{
对于(int i=0;iwhile(左图)“创建一个名为“toString”的公共访问器方法,该方法将以字符串形式返回排序后的列表,每个元素之间有一个换行符(\n)”非常简单。你对术语感到困惑吗?不,我对返回语句的内容感到困惑。他想让我返回一个字符串,但我在上面的代码中看不到任何可以返回的字符串。看看你的代码,你似乎对你正在做的事情有很好的理解。有函数、变量、循环、strin然后你说“他想让我返回一个字符串,但我在上面的代码中看不到任何可以返回的字符串”。这让我想知道你是否编写了粘贴的代码。是吗?但是,为了部分地回答你的问题,我要说:在实现了一个排序算法(比如bubble)之后,你的toString方法很简单。返回array.toString(bubbleSortMyIntegerArray());请向我解释你的I