JAVA练习题,求助

程序填空,不要改变与输入输出有关的语句。
输入一个正整数repeat (0<repeat<10),做repeat次下列运算:
输入一个正整数m,如果它是素数,输出"YES",否则,输出"NO"(素数就是只能被1和自身整除的正整数,1不是素数,2是素数)。
例:括号内是说明
输入
4 (repeat=4)
1 2 9 17
输出
NO (1不是素数)
YES (2是素数)
NO (9不是素数)
YES (17是素数)
import java.util.Scanner;
public class d{
public static void main(String args[]){
int ri, repeat;
int i, m, n;
boolean flag;
Scanner in=new Scanner(System.in);
repeat=in.nextInt();
for(ri=1; ri<=repeat; ri++){
m=in.nextInt();
/*--------------------*/
if(flag) System.out.println("YES");
else System.out.println("NO");
}
}
}

方法。java语言中不支持多重继承,是通过接口实现多重继承的功能。如果一个类A继承自另一个类B,就把这个A称为"B的子类",而把B称为"A的父类"。继承可以使得子类具有父类的各种属性和方法,而不需要再次编写相同的代码。在令子类继承父类的同时,可以重新定义某些属性,并重写某些方法,即覆盖父类的原有属性和方法,使其获得与父类不同的功能。

2:控制台程序和GUI程序

3:
面向对象的特征
(1)对象唯一性。
每个对象都有自身唯一的标识,通过这种标识,可找到相应的对象。在对象的整个生命期中,它的标识都不改变,不同的对象不能有相同的标识。
(2)抽象性。
分类性是指将具有一致的数据结构(属性)和行为(操作)的对象抽象成类。一个类就是这样一种抽象,它反映了与应用有关的重要性质,而忽略其他一些无关内容。任何类的划分都是主观的,但必须与具体的应用有关。
(3)继承性。
继承性是子类自动共享父类数据结构和方法的机制,这是类之间的一种关系。在定义和实现一个类的时候,可以在一个已经存在的类的基础之上来进行,把这个已经存在的类所定义的内容作为自己的内容,并加入若干新的内容。
继承性是面向对象程序设计语言不同于其它语言的最重要的特点,是其他语言所没有的。
在类层次中,子类只继承一个父类的数据结构和方法,则称为单重继承。
在类层次中,子类继承了多个父类的数据结构和方法,则称为多重继承。
在软件开发中,类的继承性使所建立的软件具有开放性、可扩充性,这是信息组织与分类的行之有效的方法,它简化了对象、类的创建工作量,增加了代码的可重性。
采用继承性,提供了类的规范的等级结构。通过类的继承关系,使公共的特性能够共享,提高了软件的重用性。
(4)多态性(多形性)
多态性使指相同的操作或函数、过程可作用于多种类型的对象上并获得不同的结果。不同的对象,收到同一消息可以产生不同的结果,这种现象称为多态性。
多态性允许每个对象以适合自身的方式去响应共同的消息。
多态性增强了软件的灵活性和重用性。

4:分别对以下特点做以解释:
1)面向对象
2)可移植性
3)安全性
4)并发机制
5)支持可视化图形界面
5:object
6:ab:
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-03-31
如果只是填空的话只可能一个个输出
===================================================
import java.util.Scanner;
public class d{
public static void main(String args[]){
int ri, repeat;
int i, m, n;
boolean flag;
Scanner in=new Scanner(System.in);
repeat=in.nextInt();
for(ri=1; ri<=repeat; ri++){
m=in.nextInt();
flag = true;
for(int j = 2; j < m; j++){
if(m%j == 0){
flag = false;
break;
}
}
if(flag) System.out.println("YES");
else System.out.println("NO");
}
}
}

要是按楼主的批量输入打印的话要这样写
=================================================
import java.util.Scanner;
public class d{
public static void main(String args[]){
int ri, repeat;
int i, m, n;
boolean flag;
Scanner in=new Scanner(System.in);
repeat=in.nextInt();
int[] intArr = new int[repeat];
for(ri=1; ri<=repeat; ri++){
m=in.nextInt();
intArr[ri-1] = m;
}
for(int j = 0; j < intArr.length; j++){
flag = true;
for(int k = 2; k < intArr[j]; k++){
if(intArr[j]%k == 0){
flag = false;
}
}
if(flag) System.out.println("YES");
else System.out.println("NO");
}
}
}本回答被提问者采纳
第2个回答  2011-03-31
在m=in.nextInt(); 这行后面加上
for (i = 2; i <= m; i++) {
if (m % i == 0)
break;
}
if(i==m)
flag = true;
else
flag = false;
就可以了
第3个回答  2011-03-31
加上:
flag = true;
for(i = 1; i <= m / 2; i++) {
if(i != 1 && m % i == 0) {
flag = false;
break;
}
}
相似回答