小编Rob*_*777的帖子

如何在Eclipse中运行简单的Java程序?

你可以从问题本身中理解,我是Java的新手.我接受了练习来编写一个Java程序,它接收一个字符,打印它并在Unicode表中输入下一个字符.

现在,我有这个练习的解决方案:

public static void main(String[] args){
    char c = args[0].charAt(0);
    char c1 = (char)(c + 1);
    System.out.println(c + "\t" + c1);
}
Run Code Online (Sandbox Code Playgroud)

我理解这段代码的基本思想,但我试图在Eclipse中运行这段代码我遇到了一个恼人的错误:

线程"main"中的异常java.lang.ArrayIndexOutOfBoundsException:0在MainClass.main(MainClass.java:9)

注意:我还没有运行实际接收某些东西作为参数的Java程序,所以我猜这是一个愚蠢的初学者的错误......这是我尝试在Eclipse中编译的完整代码:

public class MainClass {

    /**
     * @param args
     */

    public static void main(String[] args){
        char c = args[0].charAt(0);
        char c1 = (char)(c + 1);
        System.out.println(c + "\t" + c1);
    }
}
Run Code Online (Sandbox Code Playgroud)

提前致谢

java eclipse compiler-errors

9
推荐指数
2
解决办法
7万
查看次数

在向图表添加新边缘后查找新的最小生成树

设G =(V,E)为加权,连通和无向图,并且令T为最小生成树.设e是不在E中的任何边(并且具有权重W(e)).证明或反驳:TU {e}是包含G'=(V,EU {e})的最小生成树的边集.

嗯,这对我来说听起来是对的,所以我决定证明这一点,但我每次都被卡住了......

例如,如果e是具有最小权重的新边缘,那么谁可以向我们保证T中的边缘不会以不良方式被选择,这将阻止我们在没有E中其他边缘的"帮助"的情况下获得新的最小权重 - T?

我将不胜感激任何帮助,在此先感谢.

algorithm minimum-spanning-tree graph-algorithm kruskals-algorithm

7
推荐指数
1
解决办法
3573
查看次数

是语言{0 ^ n 1 ^ n 0 ^ k | k!= n}上下文免费?

我相信这种语言不是上下文,因为PDA不可能比较2个0和1的相同长度的块,并且还记住它的长度以供以后使用.

不幸的是,我不知道如何证明它.

我尝试使用泵浦引理无济于事......

我还试图通过矛盾来假设语言是无上下文的,并且使用这样一个事实,即上下文无关语言与常规语言的交集也是无上下文的(通过找到一些神秘的常规语言L),并且令人惊讶(或者不是) ) - 我所有的努力都是徒劳的......

任何帮助,将不胜感激

computer-science context-free-grammar pushdown-automaton regular-language

5
推荐指数
1
解决办法
1100
查看次数

使用fseek时出现意外输出

假设我们有一个名为hi.txt的文本文件,其中包含以下字符串:

AbCdE12345

假设我们运行此代码:

int main() {
  FILE *fp;
  fp = fopen("hi.txt","r");
  if(NULL == fp) { return 1; }
  fseek(fp,-1, SEEK_END);
  while (ftell(fp) > 0) {
     printf("%c",fgetc(fp));
     fseek(fp,-4, SEEK_CUR);
  }
  fclose(fp);
  return 0;
}
Run Code Online (Sandbox Code Playgroud)

当我运行此代码时,它打印出来: 3EbCd

当我试图猜测它会打印什么时,我认为它应该是52d.谁能解释一下这里发生了什么?

c

5
推荐指数
1
解决办法
233
查看次数

给定网络是否具有独特的最小切割?

设G =(V,E)是一个网络,其中s和t是源和接收器.设f为G中的最大流量.找到一个算法,确定G中是否存在唯一的最小割数.

我在这个网站上找到了类似的问题:

确定最小切割的唯一性

在那里给出答案的摘要:

找到残差图中s可到达的所有顶点,我们在G中找到了最小割(S,T).

从t开始,查看相同的残差图.查看箭头反方向可从t到达的顶点组(意味着可以到达t的所有顶点).

这个小组也是一个小切.

如果切割与原始切割相同,那么只有一个.否则,您刚刚发现了2个切口,因此原始切割不可能是唯一的.

我不明白为什么如果切割与原始切割相同,那么切割是独特的.谁可以向我们保证没有其他的减产?

提前致谢

graph-algorithm network-flow max-flow

3
推荐指数
1
解决办法
5838
查看次数

为什么我用这个C代码会出现分段错误?

这段代码给了我一个分段错误:

char *s1 = "String 1", *s2 = "String 2";
void swap(char **, char **);

int main(void) {
    swap(&s1, &s2);
    return 0;
}

void swap(char **p, char **q) {
    char **tmp;

    *tmp = *p;
    *p = *q;
    *q = *tmp;
}
Run Code Online (Sandbox Code Playgroud)

但是,如果我将最后一个函数的主体更改为此代码,则不会产生任何问题:

    char *tmp;

    tmp = *p;
    *p = *q;
    *q = tmp;
Run Code Online (Sandbox Code Playgroud)

我真的不明白为什么我的第一个代码会出现分段错误.提前致谢.

c pointers segmentation-fault

3
推荐指数
1
解决办法
95
查看次数

C - 从可写字符数组中删除第i个字符

从可写char数组中删除第i个字符(第一个索引为0,第二个为1等).您认为这是执行此任务的合法方式:

void delete_char(char *str, int i) {
    strcpy(str + i,str + i + 1);
}
Run Code Online (Sandbox Code Playgroud)

我们可以指望函数strcpy总是将字符从最左边的位置复制到最右边的位置吗?

c string

3
推荐指数
1
解决办法
1万
查看次数

这个Makefile有什么问题?

我正在尝试学习如何在Ubuntu中使用带有C的makefile(我猜你是初学者).在"A Book on C"中有一章关于这个主题,他们给出了一个简单的3个文件示例:main.c,sum.c,sum.h(无代码)和带有此代码的makefile:

sum: main.o sum.o
    gcc –o sum main.o sum.o
main.o: main.c sum.h
    gcc –c main.c 
sum.o: sum.c sum.h
    gcc –c sum.c 
Run Code Online (Sandbox Code Playgroud)

现在,我正在尝试在eclipse中编译此代码,但它不起作用.我用上面的代码和前面提到的3个文件创建了一个名为makefile的文件.这是我得到的错误:

make all 
make: *** No rule to make target `all'.  Stop.
Run Code Online (Sandbox Code Playgroud)

我将不胜感激任何帮助.谢谢

c eclipse makefile

1
推荐指数
1
解决办法
98
查看次数

C中的多个头文件和函数原型

假设我在C中使用多个.c文件处理一个大项目,有什么理由我更喜欢有多个头文件而不是单个头文件?

还有一个问题:

比方说,我有3个文件:header.h,main.cother.c.
我有一个名为的函数func(),它只在文件中定义和使用other.c.我应该将函数原型放在头文件或文件中other.c吗?

c design-patterns

1
推荐指数
1
解决办法
2036
查看次数

为什么这段代码不能编译?

我试图理解为什么这段代码编译:

public class A {
}

public class B extends A {
  public B() {
  }
}
Run Code Online (Sandbox Code Playgroud)

虽然这段代码没有:

public class A {
  public A(int n) {
  }
}

public class B extends A {
  public B() {
  }
}
Run Code Online (Sandbox Code Playgroud)

我的意思是,在这两种情况下,A类都没有空白构造函数吗?如果是这样,为什么它不起作用?

提前致谢

java inheritance constructor

0
推荐指数
1
解决办法
59
查看次数

为什么Valgrind不工作?

我是C,Ubuntu的新手,并决定安装Valgrind并在这个简单的C代码上测试它:

#include <stdio.h>

int *p;

int main(void) {
    p = calloc(100, sizeof(int));
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

我已将此代码放在sum.c文件中并进行编译.然后我输入了:

valgrind --tool=memcheck --leak-check=yes sum
Run Code Online (Sandbox Code Playgroud)

在终端窗口,这是我得到的:

在此输入图像描述

我不知道它是继续循环还是只是卡住,但它会保持这种方式,直到我点击ctrl + d来停止它,这就是我得到的:

在此输入图像描述

难道我做错了什么 ?为什么我不能看到我有内存泄漏?

顺便说一句,这是Ubuntu版本11.04.

提前致谢

c ubuntu valgrind

0
推荐指数
1
解决办法
784
查看次数