代码解说:

定义一个main父类

用布尔型考虑 i 是否能被2整除来判断 i 是否为质数

构造main静态子类

在子类中定义一个Buider数组

用于输出质数和质数的对数

while(sc.hasnext)中sc.hasbext为设置一个终止符

调用hasNext()的重载方法hasNext(String patten)

意为:进入while循环,sc.hasNext ()就要求我们给他输入一个值,所以就不会输出“请输入:”,当我们输完后,String str = sc.next ()中,会从sc中取出我们输入的那个值返回到str中,如果没有值,它就会被阻塞要求我们给它一个值。

package shixun; import java.util.ArrayList; import java.util.List; import java.util.Scanner; public class main { public static boolean jug(int a){ //这里i<=Math.sqrt(a)记得要加上“=” for(int i=2;i<=Math.sqrt(a);i++) { if(a%i==0)//判断是否能被2整除 return false; } return true;

}
public static void main(String[] args) {
	Scanner sc =new Scanner(System.in);

	StringBuilder str=new StringBuilder();
	//定义Builder数组
	while(sc.hasNext()) {
		int num=sc.nextInt();
		int sum=0;
		if(num<1000) {
		for(int k=2;k<=num/2;k++) {
			if(jug(k)&&jug(num-k)) {
				str.append("(");
				str.append(k);
				str.append(",");
				str.append(num-k);
				str.append(")");
				str.append("和");//控制数组输出
				sum++;
			}
		}
		
		
		String[] array = new String[] { "i", "sum" };

// System.out.println(sum+" "+arrayList); //System.out.println(sum+" "+str.insert(0, "(").deleteCharAt(str.length()-1).append(")"));

System.out.println(sum+"  "+str.insert(0, "(").deleteCharAt(str.length()-1).append(")"));
		
			}else {
				System.out.println("该数已超出计算范围");
			}
	}
}

}

给定一个正整数,编写程序计算有多少对质数的和等于这个输入的正整数,并输出结果,输出值小于1000._数组

输入:10

输出:2 ((3,7) 和(5,5))

本人是java新学者,代码若有不完善之处还请各位大佬多指教