A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

18190787091

中级黑马

  • 黑马币:

  • 帖子:

  • 精华:

1黑马币
        程序如下:我们确定的值是0~无穷大值,当我们输入一个负数时,显示报错,然后自动跳转到控制台,需要重新加载.class文件.
请问有没有方法可以直接输入值,不用再次加载?


//键盘录入,打印出一个*的长方形
import java.util.Scanner;
class  PrintChang
{
        public static void main(String[] args)
        {
                Scanner sc=new Scanner(System.in);       
                 System.out.println("请输入行:   ");
                int a=sc.nextInt();
                        System.out.println("请输入列:   ");
                int b=sc.nextInt();

                if(a<0  && b<0)
                {
                        System.out.print("输入有误,请重新输入:");
                }
                Chang(a,b);                               
        }       
        public static void Chang(int a,int b){
               
                                for (int x=0; x<a; x++)
                                {
                                        for (int y=0; y>b;y++ )
                                        {
                                                System.out.print("*");
                                        }
                                System.out.println();
                                }                       
        }
}

QQ截图20151008190647.png (5.33 KB, 下载次数: 114)

QQ截图20151008190647.png

最佳答案

查看完整内容

public static void main(String[] args) { do { System.out.print("输入有误,请重新输入:"); Scanner sc=new Scanner(System.in); System.out.println("请输入行: "); int a=sc.nextInt(); System.out.println("请输入列: "); int b=sc.nextInt(); ...

10 个回复

正序浏览
ajkx 中级黑马 2015-10-22 21:33:01
10#
前面的说的很有道理
回复 使用道具 举报

天上飘来五个字,我要黑马币
回复 使用道具 举报
就是需要进行循环,判断条件就是是否输入正确
回复 使用道具 举报
加循环 和break  continue组合使用
回复 使用道具 举报
while(1){

}
完美死循环,攻克一切需要重新加载的难题
回复 使用道具 举报
if外家while(true)
回复 使用道具 举报
本帖最后由 cool257 于 2015-10-9 00:53 编辑

import java.util.Scanner;
class  PrintChang
{
        public static void main(String[] args)
        {
                        Scanner sc=new Scanner(System.in);        
                        System.out.println("请输入行:   ");
                        int a=sc.nextInt();
                        System.out.println("请输入列:   ");
                        int b=sc.nextInt();

                        /*      
                        源代码中的if以及括号内的语句只进行了判断如果a或者b小于0,将会输出错误提示,但没有进行其他操作,
                        按照代码流程是if判断完之后执行之后的语句,if语句中也没有其他的操作,所以无法让用户再次输入,
                        只要将if中的代码进行修改,将if改成while循环就可以达到让用户重新输入的效果:
                        修改后的代码如下(将原来if判断和之后代码块中的代码全都替换成以下被修改的即可..... /* 修改的代码在这个注释中 */ )
                        while(a<0  && b<0)
                        {
                                System.out.println("输入有误,请重新输入:");
                                System.out.println("请输入行:   ");
                                a=sc.nextInt();
                                System.out.println("请输入列:   ");
                                b=sc.nextInt();
                        }
                        */      
                         Chang(a,b);                                        }        
                public static void Chang(int a,int b){
                        for (int x=0; x<a; x++)
                        {
                                for (int y=0; y>b;y++ )
                                {
                                                System.out.print("*");
                                }
                                System.out.println();
                        }                        
        }
}




回复 使用道具 举报
不要直接用if,用循环,里面套个if满足条件跳出就可以,我这么理解
回复 使用道具 举报
加一个死循环就搞定了
回复 使用道具 举报
本帖最后由 wokua 于 2015-10-9 01:58 编辑

public static void main(String[] args)
        {
                do
                {
                 System.out.print("输入有误,请重新输入:");
                 Scanner sc=new Scanner(System.in);        
                 System.out.println("请输入行:   ");
                int a=sc.nextInt();
                        System.out.println("请输入列:   ");
                int b=sc.nextInt();
                }
                while(a<0 ||b<0)
                Chang(a,b);                                
        }        
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马