小编Num*_*tor的帖子

java中的"value ++"

可能重复:
java operator ++问题

public class A {

public static void main(String[] args) {

    int nir = 5;
    nir = nir++;

    System.out.print(nir);
    }
}
Run Code Online (Sandbox Code Playgroud)

为什么输出5而不是6?

请不要告诉我该怎么做以获得6 ..显然我能够达到6,这只是我的语法看起来很好,并且解释有什么问题会更好,谢谢.

java syntax

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

检查C字符串中的"行尾"

我想从用户那里得到一个最大长度为30个字符串的输入,并检查它是否包含行尾.

这是我到目前为止所写的内容:

int main(void) {
int i;
char* command = (char*)calloc(31, sizeof(char));
while (0 < 1) {
    scanf("%s", command);
    for (i = 0; i <= strlen(command); ++i) {
        if (command[i] == '\n')
            printf("here");
    }
    if (strcmp(command, "quit") == 0)
        break;
}
Run Code Online (Sandbox Code Playgroud)

我们的想法是检查用户提供的命令是否为"合法" - 长度<31.当我运行此代码时,无论输入的长度如何,它都不会打印"here".

c

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

IO异常从文件中读取文本

我正在尝试从驱动器中的计算机中的文本文件中读取文本 D:

所以,我用Java写道:

public class Test {
    public static void main(String [] args ) throws IOException{
        FileReader in= new FileReader("D:\nir");
        BufferedReader bin= new BufferedReader(in);
        String text = bin.readLine();
    }
}
Run Code Online (Sandbox Code Playgroud)

我收到此错误异常:

Exception in thread "main" java.io.FileNotFoundException: D:ir
  (The filename, directory name, or volume label syntax is incorrect)
    at java.io.FileInputStream.open(Native Method)
    at java.io.FileInputStream.<init>(Unknown Source)
    at java.io.FileInputStream.<init>(Unknown Source)
    at java.io.FileReader.<init>(Unknown Source)
    at A11.main(A11.java:14)
Run Code Online (Sandbox Code Playgroud)

我不明白有什么问题,因为文件存在,名称是正确的,也许我没有使用正确的语法和命令?

java io

0
推荐指数
3
解决办法
9000
查看次数

Java:在一个命令中打印数组

如何array1在一个命令中打印一个数组,array.toString或类似的实际打印array1为类似1 3 4或类似的数组而不是类似的字符串[I@1242719c.也许我们可以把它变成a ArrayList然后我们可以轻松打印出来?

java arrays

0
推荐指数
2
解决办法
1489
查看次数

用Java编译

如果我的类A有一个方法foo()和一个B扩展A和覆盖的类foo().如果我写作A a= new B();而不是写作((A) a).foo()- 这foo将被激活?一方面动态类型Bfoo()良好覆盖,对其他手工做这个转换使得是一个动态类型的A

java

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

在C中定义宏

让我们说我定义一个宏:

#define MAX(x,y)    ((x)>(y)?(x):(y))
Run Code Online (Sandbox Code Playgroud)

如果我打电话MAX(I++,J++)会怎么样?

我无法理解为什么答案不会像预期的那样.

c macros

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

以下C代码 - 结构和指针有什么问题

以下功能有问题:

typedef struct Data1{
float result;
struct Data1* next;

} Data; 



Data* f(Data* info){
    Data item;
    item.result=info->result;
    item.next=info->next;

    return &item; 

}
Run Code Online (Sandbox Code Playgroud)

我在这里注意到两件事:

  1. 返回的值是本地值的指针.但它仍然是一个指针 - 编译器发出警告:函数返回局部变量的地址.但它真的会成为一个问题吗?(我本身不返回本地值)
  2. 我相信这里的主要问题是这个函数假设复制Data结构.结果值是可以的,但对于'下一个'指针,我相信在函数调用结束时指针不会被改变,我是否正确?这就像在外部函数中均衡两个int,应该*(item.next)=*(info->next);解决问题?

那么这里的主要问题是什么?是1还是2?

c struct pointers

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

Java:ObjectInputStream

    public void bar(String fileName) throws IOException{
    FileInputStream fileIn = new FileInputStream(fileName);
    ObjectInputStream in = new ObjectInputStream(fileIn);
    Map map = (HashMap) in.readObject();
}
Run Code Online (Sandbox Code Playgroud)

我试图理解这段代码的作用.

我们创建一个流,所以我们将能够从这个文件中读取.这是ObjectInputStream做什么的?我们是否阅读了对象并制作了一张地图?我显然不明白,我很乐意为你提供帮助.

java io object

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

C中的浮点输出/输入问题

我希望您帮助理解以下内容:

对于代码:

int main() {
    int i=23;
    float f=7.5;

    printf("%f", i);
    return 1;
}
Run Code Online (Sandbox Code Playgroud)

输出是0.000000,怎么不是7.500000

对于代码

int main() {
    int i=23;
    float f=7.5;

    printf("%d\n",f);
    printf("%f",i);
    return 1;
}
Run Code Online (Sandbox Code Playgroud)

输出是1455115000, 7.500000.为什么不编译错误?这个号码是1455115000是什么?为什么现在正在印刷7.500000?

c floating-point

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

标签 统计

java ×5

c ×4

io ×2

arrays ×1

floating-point ×1

macros ×1

object ×1

pointers ×1

struct ×1

syntax ×1