小白在自学过程中遇到问题了,请各位大佬指导

qq_39381072 2017-07-02 12:05:23

新手小白才自学到java基础函数部分,现在想用自定义函数ak实现一个给定长和宽,打印矩形的功能,如果在for循环里面再自定义2个变量,这个功能可以轻松实现的,现在本着节约内存的原则,不再定义变量了,感觉逻辑并没有什么问题,但是运行起来,只出现了第一行,请大佬指点一下。
结果:
...全文
666 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
pengjianwu1994 2017-07-20
  • 打赏
  • 举报
回复
a,b在方法运行的时候只有一次赋值,因此在第二个for循环中b的值被减到为0了,而在a的第二次循环的时候b的值依然为0,所以只会输出第一行。
loong0306 2017-07-20
  • 打赏
  • 举报
回复
b =  0
亦如溪水 2017-07-19
  • 打赏
  • 举报
回复
b没了~~~~~·
k10509806 2017-07-19
  • 打赏
  • 举报
回复
变量命名好一点啊
逗泥丸的平方 2017-07-19
  • 打赏
  • 举报
回复
瞬间感觉自己是个败家子
青年卫大师 2017-07-19
  • 打赏
  • 举报
回复
真够节约了
什么都不能 2017-07-18
  • 打赏
  • 举报
回复
a,b的作用域是整个方法,不是在第一重循环
heg123 2017-07-18
  • 打赏
  • 举报
回复
b被减到了0,a就输出换行
wx_tangjinjinwx 2017-07-03
  • 打赏
  • 举报
回复
建议你别学Java了,Java代码是平民学的,你这种牛逼人物不建议学Java,无聊看看,闲的无聊您就看看!
杀猪剑客 2017-07-02
  • 打赏
  • 举报
回复
代码改下


package test;


public class Test {
	
	
	public static void main(String[] args) {
		ak(4,6);
	}
	
	public static void ak(int x ,int y){
		
		for(int a = x;a>=1;a--) {
			for(int b = y;b>=1;b--) {
				System.out.print("* ");
			}
			System.out.println("");
		}
		
	}
}




沁海棠 2017-07-02
  • 打赏
  • 举报
回复
b被减没了,里面的循环 int i=0;i<b;i++
  • 打赏
  • 举报
回复
b在第一次循环结束就为0了,你在b那个循环里输出一下b的值就明白了
丄whistle 2017-07-02
  • 打赏
  • 举报
回复
运行完第一次循环后b的值为0,故第二次循环后不打印 *

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧