作业帮 > 综合 > 作业

java 输入一个数,判断这个数是由哪两个质数相加组成

来源:学生作业帮 编辑:神马作文网作业帮 分类:综合作业 时间:2024/11/14 05:20:16
java 输入一个数,判断这个数是由哪两个质数相加组成
JAVA
java 输入一个数,判断这个数是由哪两个质数相加组成
package p1;

import java.util.Scanner;

public class Lab9
{
\x09public static boolean isPrime ( int start, int number )
\x09{
\x09\x09if (number < 2)
\x09\x09{
\x09\x09\x09return false;
\x09\x09}
\x09\x09start++;
\x09\x09if (start > number / 2)
\x09\x09{
\x09\x09\x09return true;
\x09\x09}
\x09\x09if (number % start == 0)
\x09\x09{
\x09\x09\x09return false;
\x09\x09}
\x09\x09return isPrime (start, number);
\x09}

\x09private static int what ( int number )
\x09{
\x09\x09int code = -1;
\x09\x09for ( int i = 2; i < number; i++ )
\x09\x09{
\x09\x09\x09for ( int j = 2; j < number; j++ )
\x09\x09\x09{
\x09\x09\x09\x09if (isPrime (1, i) && isPrime (1, j) && i + j == number)
\x09\x09\x09\x09{
\x09\x09\x09\x09\x09System.out.println (i + " + " + j + " = " + number);
\x09\x09\x09\x09\x09code = 1;
\x09\x09\x09\x09}
\x09\x09\x09}
\x09\x09}
\x09\x09return code;
\x09}

\x09public static void main ( String[] args )
\x09{
\x09\x09Scanner scanner = new Scanner (System.in);
\x09\x09while (true)
\x09\x09{
\x09\x09\x09System.out.print ("input a number: ");
\x09\x09\x09String line = scanner.nextLine ().trim ();
\x09\x09\x09if ("".equals (line))
\x09\x09\x09{
\x09\x09\x09\x09scanner.close ();
\x09\x09\x09\x09break;
\x09\x09\x09}
\x09\x09\x09int number = -1;
\x09\x09\x09try
\x09\x09\x09{
\x09\x09\x09\x09number = Integer.parseInt (line);
\x09\x09\x09}
\x09\x09\x09catch (NumberFormatException e)
\x09\x09\x09{
\x09\x09\x09\x09System.out.println ("error. ");
\x09\x09\x09\x09continue;
\x09\x09\x09}
\x09\x09\x09int code = what (number);
\x09\x09\x09if (code < 0)
\x09\x09\x09{
\x09\x09\x09\x09System.out.println ("nothing...");
\x09\x09\x09}
\x09\x09}
\x09}
}