2014-10-20 27 views
-8
package cornett1; 

import java.util.Scanner; 

public class CodeRat { 



    public static boolean makes10(int a , int b) 
    { 
     return (a + b == 10 || a == 10 || b == 10); 

     } 

     public static void main (String[] args) { 
      Scanner s = new Scanner(System.in); 
      System.out.print(makes10(s.nextInt(),s.nextInt()); 
     } 
} 

我使用了一个名为codingbat网站做编程练习,我解决了这个问题
“鉴于2个整数,a和b,返回真,如果其中一人是10或者如果它们的总和是10.“我怎样才能应用这个程序并输入实际的数字。“给定2个整数a和b,如果它们是10或者它们的总和是10,则返回true。”如何申请实数

+2

你听说过扫描仪API的? – 2014-10-20 18:01:12

回答

1

一个你最简单的选择是

java.util.Scanner的

Defention:简单的文本扫描仪,可以使用常规的分析基本类型和字符串 表达式。

  1. 扫描器断开其输入到使用定界符模式,默认情况下空白匹配令牌 。

  2. 然后可以使用各种下一种方法将得到的标记转换成不同类型的值 。

为什么使用扫描仪API?

。扫描器使用定界符模式将其输入分为令牌,默认情况下该定界符与空白相匹配。

。扫描操作可能会阻止等待输入。

。扫描仪对于不使用外部同步的多线程应用是不安全的。

例如:

Scanner input = new Scanner(System.in); 
int i = sc.nextInt(); 
System.out.println("the number you entered is " + i); 

说明

您从控制台和饲料扫描器变量,它是输入读取,你只是想读INT。最后,您打印在控制台上读取数

资源

  1. first one
  2. second one

另一种选择是使用的BufferedReader API

读取文本从字符输入流,缓冲字符,如 提供字符,数组和线条的高效读取。 可以指定缓冲区大小,或者可以使用默认大小。 默认值对于大多数用途而言足够大。

take a look at this sample for your BufferReader need

BufferReader VS扫描器

  1. BufferedReader具有比扫描仪显著更大的缓冲存储器。如果要从流中获取长字符串,请使用BufferedReader,如果要从流中解析特定类型的标记,则使用Scanner

  2. Scanner可以使用tokenize使用自定义分隔符和解析流到原始类型的数据,而BufferedReader只能读取和存储String。

  3. BufferedReader是同步的,而Scanner不是。如果您使用多个线程,请使用BufferedReader

你的情况:

int a = 0; 
    int b = 0; 
    Scanner input = new Scanner(System.in); 
    System.out.println("Please enter two numbers"); 
    a = input.nextInt(); 
    b = input.nextInt(); 
    JOption jp = new JOption(); 
    jp.makes10(a, b); 
} 

public boolean makes10(int a, int b) { 
    return ((a + b) == 10 || a == 10 || b == 10); 

} 
1

这个阅读起来:

http://docs.oracle.com/javase/tutorial/essential/environment/cmdLineArgs.html

这将告诉您如何接受参数以命令行形式和使用那些在你的程序中的变量。

public static void main (String[] args) { 
    int a = Integer.parseInt(args[0]); 
    int b = Integer.parseInt(args[1]); 
    System.out.print(makes10(a,b)); 
} 

如果你想在运行时输入,可以使用Scanner类或Console类

Scanner s = new Scanner(System.in); 
System.out.print(makes10(s.nextInt(),s.nextInt())); 
+0

我添加了扫描仪类,但它告诉我在最后插入第三个“)”。虐待转发代码 – cheshyy 2014-10-20 18:36:06

+1

所以添加第三个')'。 – 2014-10-20 19:00:04

+0

因为当你复制我的代码时,你错过了最后一次关闭的秘密.... – 2014-10-20 20:32:21

1

您可以使用Scanner从用户获取输入:

Scanner sc = new Scanner(System.in); 
System.out.println(makes10(sc.nextInt(),sc.nextInt())); 
1

在类中编写主要方法,并在调用程序时传入两个数字。 在main方法中,使用

int a = Integer.parseInt(argument 0); 
int b = Integer.parseInt(argument 1); 

现在创建JOption类的新实例,并在带有参数的方法调用的方法“makes10”。

JOption opt = new JOption(); 
boolean answer = opt.makes10(a, b); 

System.out.println(answer); 
相关问题