class Demo{ int i = 100; public void m(){ int j = i++; System.out.println("i="+j); System.out.println("j="+j); } } class Test{ public static void mian(String[] args){ Demo d1 = new Demo(); Demo d2 = d1; d2.m(); System.out.println(d1.i); System.out.println(d2.i); } }
时间: 2024-04-08 17:34:22 浏览: 28
这段代码有两个类:Demo和Test。Demo类中一个int类型的实例量i,和一个m。m方法中定义一个局部变量j,它值是i的当前值然后i的值1。最后打印j的值和i的。
Test类中有main方法,首先创建了一个对象d1,然后d1赋值给2。接着调用2的m方法,此d1和d2用同一个Demo对象,所m方法中的i的也会被增加最后打印出d1i和d2的i值。
代码中有拼写错误,mian方法应是main方法。正确的代码如下:
```java
class Demo {
int i = 100;
public void m() {
int j = i++;
System.out.println("i=" +);
System.out.println("j=" + j);
}
}
class Test {
public static void main(String[] args) {
Demo d1 = new Demo();
Demo d2 = d1;
d2.m();
System.out.println(d1.i);
System.out.println(d.i);
}
}
```
输出结果为:
```
i=100
j=100
101
101
```
因为i的值在m方法中被增加了1,所以最后输出的结果为101。
相关问题
package Demo2; public class Sum { public static void main(String[]args){ int j=10; System.out.println("j is:"+j); calculate(j); System.out.println("At last,j is:"+j); } static void calculate(int j){ for (int i=0;i<10;i++) j++; System.out.println("j in calculate()is:"+j); } } 注释这段代码
```java
package Demo2;
public class Sum {
public static void main(String[] args) {
int j = 10;
System.out.println("j is: " + j);
calculate(j);
System.out.println("At last, j is: " + j);
}
/**
* 对参数进行累加操作
* @param j 需要累加的值
*/
static void calculate(int j) {
for (int i = 0; i < 10; i++) {
j++;
}
System.out.println("j in calculate() is: " + j);
}
}
```
这段代码是一个简单的Java程序,演示了方法参数的传递方式和对参数进行累加操作。在`main`方法中,定义了一个整数变量`j`并初始化为10,然后打印出`j`的值。接着调用`calculate`方法,并将`j`作为参数传递给该方法。
在`calculate`方法中,使用for循环对参数`j`进行了累加操作,使得`j`的值增加了10。最后在`calculate`方法内部打印出`j`的值。
这段代码没有明显的问题,只是需要注意到方法参数的传递方式是按值传递,即方法内部对参数的修改不会影响到原始变量。如果想要改变`main`方法中的`j`值,可以将`calculate`方法的返回值设为int,并将计算后的结果返回给调用方。
public class Demo61 { public static void main(String[] args) { Scanner scan = new Scanner(System.in); System.out.print("请输入一个整数:"); int n = scan.nextInt(); for(int i=1;i<n;i++);{ if (n%i == 0) { System.out.println(i); } System.out.println("它的因子是:"); } }哪里有错
代码中有两个错误:
1. 代码中的for循环语句多了一个分号,应该去掉分号。因为加上分号会使for循环中的语句只执行一次,不符合我们的预期。
2. 在for循环内部输出 "它的因子是:" 的语句位置不正确,应该放在for循环结束后输出。
以下是修改后的代码:
```java
public class Demo61 {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.print("请输入一个整数:");
int n = scan.nextInt();
System.out.println("它的因子是:"); // 将输出语句移到for循环外部
for(int i=1;i<n;i++){ // 去掉多余的分号
if (n%i == 0) {
System.out.println(i);
}
}
}
}
```
相关推荐
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)