⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 java实现质数.txt

📁 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 + -