黑马程序员技术交流社区

标题: 一个小问题 帮忙一下哦 [打印本页]

作者: 939676244    时间: 2013-9-25 13:02
标题: 一个小问题 帮忙一下哦
本帖最后由 939676244 于 2013-9-27 15:48 编辑

2:编写一个辅助小学生学习乘法的程序。使用一个Random对象产生两个一位数正整数。
然后程序应该给用户提出一个问题,诸如“How much is 6 times 7 ?”。然后由学生输入答案。
接着程序检查学生的答案是否正确,如果正确,则显示消息“very good!”并另外问一个乘法问题。
如果答案是错的,则显示消息“no,please try again.”并让学生重复同一个问题,直到学生最终得到正确答案。


作者: 落木萧萧    时间: 2013-9-25 13:24
这种问题,只能呵呵了。
题目已经说得很明显了,为什么不尝试着写一下呢
作者: 939676244    时间: 2013-9-25 13:26
落木萧萧 发表于 2013-9-25 13:24
这种问题,只能呵呵了。
题目已经说得很明显了,为什么不尝试着写一下呢 ...

{:soso_e113:}是啊 ,写了啊 ,总出错啊

作者: 落木萧萧    时间: 2013-9-25 13:29
939676244 发表于 2013-9-25 13:26
是啊 ,写了啊 ,总出错啊

代码贴上来,帮你看看

作者: long362144768    时间: 2013-9-25 18:37
package NoMainText;

import java.util.Scanner;
public class Hello {
        public static void main(String[] atg0){
                while(true){
                        int i = (int)(Math.random()*9+1);
                        int j = (int)(Math.random()*9+1);
                        System.out.println("how much is " + i
                                        + " times " + j);
                        while(true){
                                int result = new Scanner(System.in).nextInt();
                                if(result == -1) System.exit(0);
                                if(result == i * j) {
                                        System.out.println("very good!");
                                        break;
                                }
                                System.out.println("no please try again.");
                        }
                }
        }
}
作者: 黑色海    时间: 2013-9-25 18:53
random限定在1-10,其他的用循环语句
作者: HM马强    时间: 2013-9-26 01:32
本帖最后由 HM马强 于 2013-9-26 01:41 编辑

package demo;

import java.util.Random;
import java.util.Scanner;

public class Test6 {
    public static void main(String[] args) {
        Random r = new Random();
        Scanner sc = new Scanner(System.in);
        while (true) {
            int i1 = r.nextInt(10);
            int i2 = r.nextInt(10);
            System.out.println(i1 + "乘以" + i2 + "的结果为:");
            String str = sc.nextLine();
            if ("qiut".equals(str)) {
                sc.close();
                break;
            }else if (!str.matches("[0-9]*"))
                System.out.println("输入错误,请输入数字");
            else if (Integer.parseInt(str) == i1 * i2)
                System.out.println("正确");
            else {
                System.out.println("错误");
            }
        }
    }
}


作者: 黄绍楷    时间: 2013-9-27 01:24
import java.util.Random;
import java.util.Scanner;

public class Calculator {
public static void main(String[] args) {
  Scanner input = new Scanner(System.in);
  //生成两个随机数
    int i = new Random().nextInt(10)+1;
    int j = new Random().nextInt(10)+1;
    System.out.println("How much is "+i +" * " +j+" ?");
  while(true){     
   int result = input.nextInt();
   
   //判断如果输入结果等于两数相乘结果返回very good,然后continue继续循环
   if(result == (i*j)){
    System.out.println("very good!");
    i = new Random().nextInt(10)+1;
    j = new Random().nextInt(10)+1;
    System.out.println("How much is "+i +" * " +j+" ?");
    continue;
   }
   //如果小朋友玩累了,按0,即可跳出循环,结束该程序
   else if(result == 0){
    System.out.println("welcome to use");
    break;
   
   }
   //如果不相等,就返回try again ,直到结果是对的,然后continue继续循环
   else {
    System.out.println("no,please try again!");
     
       while(result == (i*j)){
        continue;
       }
      
      
      }
     
       }   
  }  
}   



QQ截图20130927011823.png (42.17 KB, 下载次数: 8)

运行效果图

运行效果图

作者: 黄文伯    时间: 2013-9-27 10:48
亲,如问题已解决请将分类的“未解决”改为“已解决”。 以后的问题贴也要及时更改分类哦~




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2