我很抱歉,如果这是张贴在别处(我找不到任何东西,因为我的问题是相当具体的),但我明白(或至少在理论上)什么是错误;我有困难,如何解决它。代码应该显示合并排序是如何工作的;代码运行,但它从未命中函数调用" merge“(下面的代码,我知道在导入中调用所有代码都是错误的做法,但它不是一个主要项目,所以我不在乎;也许它只是预览,但它是编写的导入java.util。;并导入java.security。)
import java.util.*;
import java.security.*;
public class Merge {
public static void mergeSo
我一直在使用Java中的递归构造函数。下面的类被编译器接受Java中的两个递归构造函数示例。它在运行时使用java 1.7.0_25和Eclipse Juno (版本: Juno Service Release 2 Build id: 20130225-0426)导致StackOverflowError崩溃。
class MyList<X> {
public X hd;
public MyList<X> tl;
public MyList(){
this.hd = null;
this.tl = new MyList
在这里,我正在处理以下问题,其中给出了n种面值为v(1) > v(2) > ... > v(n) (all integers)的硬币
下面的代码尝试查找生成sum-C所需的最小硬币数量。这里的C是100(参见主函数),当我运行代码时,出现错误--“java.lang.StackOverflowError”。请帮帮忙。
import java.util.ArrayList;
public class Problem2 {
public static int count=4;
public static int []v={25,10,5,1}; //Arra
我正在尝试打印所有大小为n的二进制数字,例如,如果大小为3,我想以二进制形式打印从0到(2^3)-1的所有数字,如果我的代码实现了,它会打印1000并给出这个错误。
"Exception in thread "main" java.lang.StackOverflowError
at java.lang.String.getChars(String.java:854)
at java.lang.AbstractStringBuilder.append(AbstractStringBuilder.java:391)
at java.lang.StringBuilder.a
我想知道递归方法是如何打印一个大X的,这个X由一个给定的“宽度”,输入号组成,它保证是奇数的。
“宽度”是X沿着一条大X线的长度(数)。
例如,对于宽度为X的输入号=3,方法将打印此形状!
X X
X
X X
我试着解决这个问题,但这里没有人能帮我..在java代码中,
这是我的代码,他工作良好,但打印错误时,numberinput=7或5
public static String shape(String i,int numberinput) {
//error check, not working for even numbers
if(numberinput%
我正在为下面的代码获取StackOverflowError (线程“主”java.lang.StackOverflowError中的异常)。但该程序适用于m=3、n=3 (或其他较低的值),但不适用于m=4和n=2或3。 public class AckermannFunction
{
static BigInteger One = BigInteger.ONE;
static BigInteger Zero = BigInteger.ZERO;
static BigInteger ackmnFun(BigInteger m, BigInteger n)
{
我对java非常陌生,对于一个任务,我们得到了一段错误的代码:
类主{
// pre: assume n is greater or equal 0, but smaller than 100.
// post: return n! where n!=n*(n-1)! and 0!=1.
public static long fac(int n){
System.out.println(n);
long t = n*fac(n-1);
if (n < 0)
return 1;
return t
我正在为面试做准备。我以前每天都练习几个面试问题。但有时,当事情没有得到我,我使用互联网作为参考。
现在在这个问题上说,
Q编写程序删除堆栈的中间元素,而不使用数据结构?现在我卡在第38行,上面写着
char x = st.pop();
在这里,char是如何存储过去的值,因为它没有提到数组,这是如何可能的。
//Java code to delete middle of a stack
package my.project;
import java.io.*;
import java.util.*;
public class GFG {
public static void ma
Java程序使用迭代和递归正确地运行。但由于一些奇怪的原因,我无法理解的是,当我输入的数字与任何高于9200,我得到一个StackOverFlow。我试着换一个长的,但这是我所能想到的。知道这是如何发生的,为什么会发生,以及我如何修正,这样它就能计算出任何数字?
import java.util.Scanner;
public class Multiplication {
public static long multiIterative(long a, long b) {
long result = 0;
while (b > 0) {
这是我试图解决的问题的一个子集。假设我已经解析了一些代码,现在我正在尝试检查它在逻辑上是否正确。其中一个检查是,函数调用不能调用自己,或者不能涉及到另一个函数相互调用,或者一个函数的一个函数相互调用,等等。
我已经解决了这个问题,能够轻松地解决调用本身和下一层的调用,尽管它可能不是最优的代码。现在,性能不是问题。
下面是我编写的逻辑和一个示例:
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class LoopTest {
public static void m
我正在使用IcePDF组件在我的网页上查看JApplet格式的pdf。但是由于某种原因,我得到了这个错误。谁能告诉我为什么会发生这种情况,以及如何解决它?
Exception in thread "thread applet-applet.KitKitApplet.class-1" java.lang.StackOverflowError
at java.util.PropertyPermissionCollection.implies(Unknown Source)
at java.security.Permissions.implies(Unknown So
我偶然发现了下面的链接,它展示了scala消息是多么有趣;)
当我尝试这个例子时,它挂起了forever.what发生在这里?
这是一个已知的bug吗?它是某种陷阱吗?
Welcome to Scala version 2.9.2 (Java HotSpot(TM) 64-Bit Server VM, Java 1.6.0_29
).
Type in expressions to have them evaluated.
Type :help for more information.
scala> def factorial(n: Int):Int = {
| if
public static void main(String[] args) {
PrintAsteriskLine(5);
System.out.println("Separate");
PrintAsterisk(7);
}
public static void PrintAsterisk(int N)
{
if (N==1)
PrintAsteriskLine(N);
else
PrintAsteriskLine(N);
PrintAsterisk(N-1);
}// end P
因此,正如标题所示,我正在编写一些代码来执行Java二进制搜索的版本。但是,返回语句将被忽略,函数将返回最后一个"catch all“返回语句,如下所示:
public int binarySearch(int min, int max) {
int mid = ((min+max)/2);
double[][] m1 = createFilledSquareMatrix(mid);
double[][] m2 = createFilledSquareMatrix(mid);
double[][] m3 = ne
要找到这个特殊的校验和,我们需要对输入的数字求和,然后乘以2。通过使用循环找到余数就足够简单了。 如果结果小于10,则为该数字的校验和。如果它是10或更高,我们需要再做一次,直到结果小于10。 如果它陷入无限循环,比如输入18,则返回-1。 这就是我到目前为止所知道的: public int getChecksum(int input, int previous) {
int sum = 0;
while (input > 0) {
sum += input % 10;
input /= 10;
我想使用输入的n=12来运行这段代码,为什么会产生错误?
def rec(n):
if n<4:
return n
temp=n//12
temp=13*temp
sum=rec(temp)
if(sum<=n):
return n
return sum
n=10
n=int(input())
print(rec(n))
你好,我对java编码非常陌生(初学者级别),我正在学习如何使用递归,但我正在做一些练习,我使用一个min和最大值来获得范围。
我想输出的是,如果最小是2,最大是10,它打印2,3,4,5,6,7,8,10作为输出。它也打印在分钟和最大之间,但我不知道我是如何实际被困在得到输出。
下面是代码:
//package methods;
public class MethodsRecursiveRange {
public static void main(String[] args) {
int count = 0;
System.out.pr
我正在学习二进制搜索树,一个实践问题涉及递归地找到树的高度。
这是被接受的Java代码:
public static int getHeight(Node root){
if (root == null)
return -1;
else {
int leftHeight = getHeight(root.left);
int rightHeight = getHeight(root.right);
if (leftHeight > rightHeight)
我正在试着写一个快速排序算法。请看下面的代码:
public static void quickSort(int[] tab, int lowIndex, int highIndex) {
if (tab.length == 0 || tab == null) {
return;
}
int i = lowIndex;
int j = highIndex;
int pivot = tab[tab.length / 2];
while (i <= j) {
while (tab[i] < pivot
我必须编写一个简单的程序如下:“给定一个非负整数n,使用递归找到第n个斐波那契数”。我认为这意味着,对于用户输入的任何值,我必须得到Fibonacci数。例如,如果用户输入4,我必须在Fibonacci数字列表中获得第4个值(即2)。下面是我所写的内容,但是当我运行递归时,它崩溃了,所以我的递归出现了问题。感谢你的帮助..。
int userValue;
int fibo;
int fib(int n);
int fibValue;
int main() {
cout << "Please provide your value" << end
#define EVAL1(...) __VA_ARGS__
#define RECURSE() I am recursive, look: _RECURSE()()
#define _RECURSE() RECURSE
I expected:
EVAL1(RECURSE())
=> EVAL1(I am recursive, look: _RECURSE()())
=> EVAL1(I am recursive, look: RECURSE())
=> I am recursive, look: RECURSE()
=> I am recursive, look:I