我正在学习Java并编写QuickSort类的代码。在某种程度上,需要交换数组中的元素,所以我尝试使用Collections.swap来实现这一点,例如,推荐使用。但是,javac QuickSort.java向我抛出一个错误:
error: swap(Object[],int,int) has private access in Collections
我在这里做错什么了?QuickSort.java完整代码
package src.sort;
import java.util.Collections;
public class QuickSort {
public static
所以我应该创建一个询问班级大小的程序。然后使用该大小,输入学生姓名和分数,直到填满班级大小。在此之后,我应该调用一个selectionSort方法来按降序对分数进行排序。因此,输出本质上是一个表。一列是名称,另一列是分数,分数应该是降序的,并带有适当的名称。我已经记下了大部分的程序,我只是想不出如何把学生的名字和他们输入的分数联系起来。有人能给我指引正确的方向吗?我不知所措。下面是我的程序:
import java.util.Scanner;
public class Roster {
public static void main(String[] args) {
我遵循以下伪码:
function quicksort(array)
if length(array) > 1
pivot := select any element of array
left := first index of array
right := last index of array
while left ≤ right
while array[left] < pivot
left := left + 1
while
,当我启动应用程序时,它给了我这个错误
FATAL EXCEPTION: main
java.lang.NoClassDefFoundError: com.android.tools.fd.runtime.AppInfo
at com.android.tools.fd.runtime.BootstrapApplication.attachBaseContext(Bootstra
我尝试了许多不同的变体,但我总是遇到同样的问题。在selectio nsort运行后,输出的项数与我的数组大小不匹配。我已经遍历了任何大小为10的数组,但是输出没有包含10个数字。但是,选择排序的输出是排序的。
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class Sorts {
public static Integer[] createArray(int size) {
List<Integer> list = new ArrayLi
有方法在Java中声明数组元素volatile吗?也就是说。
volatile int[] a = new int[10];
声明数组引用volatile,但数组元素(例如,a[1])仍然不易失。所以我要找的是
volatile int[] a = new volatile int[10];
但不是这样的。有可能吗?
我试图通过用不同的语言实现不同的算法来练习编程。关于插入排序的c++实现,我有两个问题。首先,为什么c++中的大多数实现都包含一个length参数,而其他实现(例如java )只访问for循环中的数组长度?下一个问题是,为什么大多数实现都在while循环中交换变量,而不是在最后交换变量呢?我已经包含了两个实现,以便更容易地讨论。
Java实现:
void insertionSort(int[] arr) {
int i, j, newValue;
for (i = 1; i < arr.length; i++) {
newValue = a
我必须在链表上而不是数组上实现BubbleSort算法。我对java很陌生,所以我不知道如何将它放入代码中。但我试了一试,我得到的是:
SinglyNode.java
public class SinglyNode
{
public Object names;
public SinglyNode next;
public SinglyNode (Object name1)
{
names = name1;
}
public SinglyNode (Object name2, SinglyNode next1)
{
names = name2;
next = next
我知道在座的各位都很有知识,而且通常都很擅长解释,所以我想征求你们的意见。
我看过几篇关于按值传递语言和按引用传递语言之间的区别的文章和文章,它们使我非常好奇如何实现交换方法。这是特别令人感兴趣的,因为学校项目和个人项目都将使用交换方法来工作。我确实在中找到了马库斯的一个相当新颖的解决方案,如果我找不到另一个解决方案的话,我将使用它。
我的理解是,不可能实现以下内容并因此拥有x = 5, y = 10:
int x = 10; int y = 5;
swap(int a, int b) {
int temp = a;
a = b;
b = temp;
}
pub
public class JavaApplication28 {
public static void main(String[] args) {
int arr[]={5,4,3,2,1};
int n=arr.length;
int d=0;
for(int i=1;i<n;i++){
d=i;
while(d>0 && arr[d-1]>arr[d]){
d--;
int temp=arr[d-1];
我正在研究Java中的一个数组问题。我知道当你声明一个对象时,你可以把它放在一个数组中,向右或向左移动。但是,有没有什么可以随意向左或向右移动的呢?
在本练习中,我将数组大小设置为100。我想检查一下单元格是不是空的。如果不是空的,那么对象(熊和鱼)会(随机)向左或向右移动。如果它是空的,它会做其他事情。
For example:
//Create an Array
//Add objects into array
Animal[] river = new Animal[100];
Fish f = new Fish();
我为冒泡排序编写了一个简单的代码,并使用了一个交换函数,它接受对象的引用作为它的参数。我得到了以下错误:
Exception in thread "main" java.util.NoSuchElementException
at java.util.Scanner.throwFor(Scanner.java:862)
at java.util.Scanner.next(Scanner.java:1485)
at java.util.Scanner.nextInt(Scanner.java:2117)
at java.util.Scanner.n
我刚开始学习Java,我有以下任务:
编写一个程序,从键盘读取三个整数a、b和c,并交换三个值中最大和最小的位置。
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("Program to find the largest and smalles value");
Syste
我想使用套接字从我的Java客户端向我的NodeJS服务器发送一个字符串数组。我的意图更复杂,但我认为一切都可以简化为下面的代码行:
Java
Socket s = new Socket("localhost", 6666);
DataOutputStream dout = new DataOutputStream(s.getOutputStream());
dout.writeUTF("test"); // also tried writeChars and writeBytes
NodeJS
require('net').createSer
每当安装和启动应用程序时,它都会给出异常。有时它突然通过异常和my gets 崩溃了
com.android.tools.fd.runtime.BootstrapApplication::无法在android.app.LoadedApk.makeApplication(LoadedApk.java:501)实例化应用程序java.lang.RuntimeException java.lang.NullPointerException在android.app.ActivityThread.handleBindApplication(ActivityThread.java:4255) at an
在Java中,原始数据类型参数似乎会通过值传递给方法。但是如果我想交换两个整数的值呢?
public static void main(String[] args){
int a = 1;
int b = 2;
swapvalue(a,b);
System.out.println(a);
System.out.println(b);
}
public static void swapValue(int a, int b){
int c = a;
a = b;
b = c;
}
例如,上面的代码旨在交换a和b的值。在C++中,我可以传入指