可能重复:
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,这只是我的语法看起来很好,并且解释有什么问题会更好,谢谢.
我想从用户那里得到一个最大长度为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".
我正在尝试从驱动器中的计算机中的文本文件中读取文本 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)
我不明白有什么问题,因为文件存在,名称是正确的,也许我没有使用正确的语法和命令?
如何array1在一个命令中打印一个数组,array.toString或类似的实际打印array1为类似1 3 4或类似的数组而不是类似的字符串[I@1242719c.也许我们可以把它变成a ArrayList然后我们可以轻松打印出来?
如果我的类A有一个方法foo()和一个B扩展A和覆盖的类foo().如果我写作A a= new B();而不是写作((A) a).foo()- 这foo将被激活?一方面动态类型B和foo()良好覆盖,对其他手工做这个转换使得是一个动态类型的A?
让我们说我定义一个宏:
#define MAX(x,y) ((x)>(y)?(x):(y))
Run Code Online (Sandbox Code Playgroud)
如果我打电话MAX(I++,J++)会怎么样?
我无法理解为什么答案不会像预期的那样.
以下功能有问题:
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)
我在这里注意到两件事:
*(item.next)=*(info->next);解决问题?那么这里的主要问题是什么?是1还是2?
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做什么的?我们是否阅读了对象并制作了一张地图?我显然不明白,我很乐意为你提供帮助.
我希望您帮助理解以下内容:
对于代码:
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?