📄 java实现质数.txt
字号:
/*
* Created on 2004-10-7
* 文件名:GetSs.java
*/
//package ss;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Vector;
/**
* <p>输出指定值域内的素数</p>
* <p>手工设置每行显示的素数的个数</p>
* @author jly
*/
public class GetSs {
//起始值
private int iStartVal = 0;
//终止值
private int iEndVal = 0;
//输出结果时每行显示的素数的个数
private int iNumPerLine = 3;
//存放素数的Vector
private Vector vSs = new Vector();
/**
* <p>构造器</p>
* <p>无参数</p>
*/
public GetSs(){
setStartVal(getParam("请输入起始值:"));
setEndVal(getParam("请输入终止值(最大值):"));
setNumPerLine(getParam("请输入每行显示的素数的个数:"));
getSs();
}
/**
* 从命令行读取整型值参数
* @param msg 需要在命令行显示的提示语言
* @return 输入的值
*/
public int getParam(String msg){
BufferedReader br = new BufferedReader( new InputStreamReader(System.in) );
int iParam = 0;
//所有的值必须大于零
while(iParam <= 0){
System.out.print(msg);
try {
iParam = Integer.parseInt( br.readLine() );
} catch (NumberFormatException e) {
e.printStackTrace();
System.out.println("格式错误,请重新输入!");
iParam = 0;
} catch (IOException e) {
e.printStackTrace();
iParam = 0;
}
}
return iParam;
}
/**
* 设置起始值
* @param iStartVal 起始值
*/
public void setStartVal(int iStartVal){
this.iStartVal = iStartVal;
}
/**
* 设置终止值
* @param iEndVal 终止值(最大值)
*/
public void setEndVal(int iEndVal){
this.iEndVal = iEndVal;
}
/**
* 设置输出时每行显示的素数的个数
* @param iNumPerLine 每行显示的素数的个数
*/
public void setNumPerLine(int iNumPerLine){
this.iNumPerLine = iNumPerLine;
}
/**
* 获取指定范围内的所有素数
*/
private void getSs(){
int i = iStartVal;
while(i <= iEndVal){
if( isSs(i) ) vSs.add( String.&#118alueOf(i) );
i++;
}
}
/**
* 判断某整型值是否为素数
* @param iSsVal 需要判断的值
* @return 是否为素数
*/
private boolean isSs(int iSsVal){
for(int i = 2; i <= iSsVal / 2; ++i){
if(iSsVal % i == 0) return false;
}
return true;
}
/**
* 根据指定每行显示的个数打印指定范围的素数
*/
public void printSs(){
System.out.println(iStartVal + " - " + iEndVal + "之间共有" + vSs.size() + "个素数:");
for(int i = 0; i < vSs.size(); ++i){
System.out.print(vSs.get(i).toString() + " ");
if( (i + 1) % iNumPerLine == 0 ){
System.out.println("");
}
}
}
/**
* 主程序
* @param args 可能用到的参数
*/
public static void main(String[] args){
//生成实例
GetSs gss = new GetSs();
//输出指定范围内的所有素数
gss.printSs();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -