我的代码出了什么问题?它只打印vect值的一部分。似乎while循环在某一时刻中断了。我不明白为什么。
def print_list(vect):
for i in range(0, len(vect)):
print(vect[i])
def merge_sort(vect):
left = []
right = []
result = []
for i in range(0, int(len(vect)/2)):
left.append(vect[i])
for i in range(int(len
我是Java世界中的newbee。我写了这个程序,它读入字符串数组...当我运行它的时候,它永远不会停止?!!我应该添加什么/change使其结束扫描?
import java.util.*;
public class Ex21 {
public static void main(String[] args) {
int i, n = 5;
String c;
ArrayList<String>words = new ArrayList<>();
System.out.println("Enter multi strings:
我该如何执行另一种方法来按升序顺序打印输出?
import java.util.*;
import java.util.Scanner;
import java.io.*;
public class LinLinkedList{
public static void main(String [] args){
LinkedList list = new LinkedList();
Scanner in = new Scanner(System.in);
int n = 0;
while (!(n<0)){
System.out.printl
正在通过一个免费的在线课程学习排序算法,其中教师使用main()方法来展示如何打印结果。
决定使用JUnit测试而不是main方法。
但是,我得到了以下StackTrace:
java.lang.ArrayIndexOutOfBoundsException: 8
at MergeSort.sort(MergeSort.java:30)
at MergeSort.sort(MergeSort.java:14)
at MergeSort.sort(MergeSort.java:14)
at MergeSortTest.sort(MergeSortTest.java:
我正在编写一个程序,允许用户在堆栈中输入一个正整数列表(以0结尾),并以相反的顺序显示它们。我首先尝试打印出堆栈的元素,以便首先测试它,但是当我输入0时,程序并没有打印出这些元素。这是我的节目:
import java.util.*;
public class MyClass{
public static void main(String[] args) {
Scanner sc= new Scanner(System.in);
Stack<Integer> addToStack= new Stack<Integer>();
int num
我正在尝试用java编写快速排序算法。我的问题是,我不能调用sort方法。这是我的代码:
public class quickSort
{
int partition(int a[], int left, int right)
{
int i= left, j= right, temp;
int pivot=a[j];
//System.out.println(pivot+"pivot");
while(i<=j)
{
while(a[i]<pivot)
i++;
w
最近开始学习Java,在实现“二进制搜索”的过程中发现,如果我在要搜索的数组上调用Arrays.sort(),它会使循环变得无限。删除/注释掉这行可以解决这个问题,但我不明白为什么。我的意图是将排序后的数组传递给.binarySearch()方法。尝试使用调试器找出问题,但失败了。我不想离开这个没有答案的问题,有谁能帮忙吗? import java.util.Arrays;
public class Main {
static class BinarySearch {
int binarySearch(int[] array, int value) {
我有11个字母:B D A A R R A R B K A我需要以这种方式对它们进行排序,以便每个字母都与前面的字母不同例如:B D A A R A R A B A K A我尝试这样做:
bool sort = true;
while (sort)
{
sort= false;
for (int i = 1; i <= n-1; i++)
{
if (letter[i] == letter[i + 1])
{
swap(letter[i], letter[i + 2]);
sort =
我是java的新手,我有一个关于在单独的类文件中调用类文件的语法的问题。因此,我有以下排序算法:
import java.util.Random;
public class MergeSort {
private int[] data;
private static final Random generator = new Random();
public MergeSort( int size ) {
data = new int[ size ];
for ( int i = 0; i < size; i++ )
dat
我有一个程序来提取网页的源代码,并将其保存为.txt文件。如果一次只用一个页面就行了,但是当我遍历一个100页的循环时,突然每个页面的源代码在1/4到3/4之间就被切断了(似乎是任意的)。你知道我为什么要解决这个问题吗?或者我该如何解决这个问题?
最初的想法是,这个循环对java来说太快了(我是从php脚本运行这个java的),但后来认为,在当前条件完成之前,从技术上讲,它不应该转到下一项。
下面是我使用的代码:
import java.io.*;
import java.net.URL;
public class selectout {
public static BufferedRea
我试图做一个快速排序,但它总是显示错误的ArrayIndexOutOfBoundsException。
public class Quicksort
{
void sort(int[] arr)
{
_quicksort(arr, 0, arr.length - 1);
}
private void _quicksort(int[] arr, int left, int right)
{
int pivot = (left + right)/2;
int l = left;
int r =
下面的方法抛出ConcurrentModificationException
方法1(有例外):
public List getData(int n)
{
List l = new ArrayList(statement.values());
Iterator i = l.iterator();
Calculation calculation = null;
while (i.hasNext())
{
calculation = (Calculation)i.next();
if (!calculation.tota
我需要将一个tar归档文件重新打包为另一个。我知道ArchieveEntry已经是一个流,所以我只是从一个流写到另一个流。下面是我的代码:
public void repack (String sourceFile, String destFile) throws IOException {
TarArchiveInputStream tarIn = new TarArchiveInputStream (new BufferedInputStream (new FileInputStream (sourceFile)));
TarArchiveOutputStream tar
我的程序遇到的问题是,当我打印所有数字时,我输入的第一个数字重复了两次,并替换了第二个数字
例如。如果输入1,3,5,7,9,11,13,15,17,19,则输出为1,1,5,7,9,11,13,15,17,19
我该如何解决这个问题呢?
import java.util.Scanner;
import java.util.Arrays;
public class InputSort_Integers
{
public static void main(String[] args)
{
// Declarations
final int[] count = new in
所以我在排序ArrayList时遇到了问题。我需要在插入方法中使用,所以我在此基础上编写了此代码。这样做的目的是要求用户输入4个3字母的单词,然后按字母顺序在ArrayList中对它们进行排序。我一直在尝试不同的方法,但当我运行代码时,它会对第一个单词进行排序,但会重复它。输出结果实际上取决于我输入的单词。我觉得我的问题出在while循环中,但我一直在尝试不同的方法,但我遇到了同样的问题。任何帮助都是非常感谢的。
import java.util.ArrayList;
import TerminalIO.KeyboardReader;
public class Insert{
pub
所以,我对Java和其他什么的都是新手,而且在很大程度上,一切都还不错。然而,我被这个问题难住了。所以基本上我必须在条件循环中写一个程序,它读取用户输入:,你输入正数,直到你输入负数,然后程序打印出其中最大的正数。 我是在另一个程序的基础上构建的,在这个程序中,程序读取正数,直到你输入一个负数,然后程序打印出总和。 我真的不知道除了这个还能做什么,有人能帮上忙吗? 这是我的代码 import java.util.Scanner;
class Main {
public static void main(String[] args) {
int counter=0;
我是Java新手,我想知道为什么我会有异常,即使我得到了我所需要的答案。下面是源代码
package habeeb;
import java.util.*;
public class Habeeb
{
public static void main(String[] args)
{
Scanner input = new Scanner(System.in);
int[] num = new int[30];
int i, count = 0;
System.out.println("Enter the
我正在使用matlab从串口读取数据,并注意到当数据被读取数千次(大约3500次)时,一两个样本会变得不同步。因此,我正在尝试实现一种确保数据有效的方法。有效数据由4个降序的值组成,其中没有两个值是相同的。
下面是我拥有的当前代码
for x = 1:4 %loop for 4 values
a(x) = fread(s); %reads 4 values of the data from the serial port and stores it to the matrix a
end
b = sort(a,'descend');
if(b(1) ~= b
我的代码的目的是让用户输入一个汽车名称,然后搜索数组列表并找到一个与用户输入的对象匹配的对象。每当我运行代码时,我都会得到java.util.ConcurrentModificationException错误。对此错误的解释和修复建议是非常值得赞赏的:)
public static void arrayList()
{
//Declarations
ArrayList<String> list = new ArrayList<String> ();
ListIterator<String> iterator
我应该将下面的合并排序算法跟踪到一个文件,但是在测试合并方法时,我一直会在合并方法中得到一个NullPointerException。我不知道为什么,也不知道怎么解决。我追踪到的其他算法都没有这个问题。这是另一个任务,所以我很想在这里得到一些帮助。
import java.io.*;
public class MergeSortWithTrace
{
private static PrintWriter writer;
/** Sort the array using the merge sort algorithm
pre: table contains Comparabl
我在ar1和ar2中有两个字符串数组,我从文件中读取输入并存储在数组中,ar1包含
Cat
Lam
Orange
Kam
Ramveer
None
Tue
Apple
ar2包含
Dog
elephant
Kam
Monday
Parrot
Queen
Ramveer
Tuesday
Xmas
我试图按字母顺序对数组进行排序,我使用的是Array.sort(),但是得到了异常
Exception in thread "main" java.lang.NullPointerException
at java.util.ComparableTimSort.binarySort(Co
我在Java.I中对multi-threading进行了一些实验,我尝试快速排序地使用multi-threading,我正在尝试并行化在围绕支点进行分区后生成的两个数组。但是当我运行代码时,没有什么happens.It只是为了帮助无限period.Can而运行(我是**多线程(())的初学者。
import java.util.Arrays;
import java.util.Random;
public class QuickSort {
public synchronized static int pivot(int[] a, int lo, int hi){
int mi
import java.io.*;
import java.net.*;
public class BankClient {
public static void main(String[] args) throws IOException {
String host = "192.168.1.100";
int port = 7331;
try(
Socket bankSocket = new Socket(host, port);
PrintWriter out =
使用Python实现此算法。我以为我的逻辑没问题,但显然不是Python所抱怨的那样。while循环会导致问题。如果我删除它,它可以正常工作,但显然不会对整个列表进行排序。我的思想过程->使用线性搜索找到最小的数字,->将新的数字追加到列表中,->通过相同的列表从当前的列表->循环中删除该数字(但最小的数字被删除),再次->重复处理,直到我们遍历了整个列表"x“次数为止。"x“等于列表的长度。我认为我遇到的问题是,每当我运行for循环时,列表都不会被更新?我一直得到错误的Line 21: ValueError: list.index(x): x n
我在我的项目的文本文件中有一个单词序列。我试图区分文件中的大写字母,并且只打印出它能找到的最大数字。例如输入: Roll Tide Roll和my Output: 2 R
我认为有代码可以找到最大计数或其他东西,但我现在迷路了。
以下是我到目前为止的代码:
import java.io.*;
import java.util.Scanner;
import java.io.IOException;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
public class letters {
p
我试图在Java中实现插入排序。我觉得我的代码有点不对劲。
public int[] sort(int[] unsorted) {
int i, j, v;
for (i = 1; i < unsorted.length - 1; i++) {
v = unsorted[i];
j = i;
while (unsorted[j-1] > v && j >= 1) {
unsorted[j] = unsorted[j -1];
j--;
嗨,我是编程新手,今天我为一个Java数组任务编写了一段代码,一开始我只试着测试我做了什么,在第一个for循环(数组读取)中,即使我已经输入了一个长度的数字(n),程序也不会停止读取一个数字。请帮帮忙?
import java.util.Scanner;
public class ReadTwoElementsForArrayAndSum {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner in = new Scanner(Sy