import java.util.*;
public class E09_FindPrimes {
  public static void main(String[] args) {
    int max = 100;
    // Get the max value from the command line,
    // if the argument has been provided:
    if(args.length != 0)
      max = Integer.parseInt(args[0]);
    for(int i = 1; i < max; i++) {
      boolean prime = true;
      for(int j = 2; j < i; j++)
        if(i % j == 0) prime = false;
      if(prime)
        System.out.println(i);
    }
  }
}
//在这段代码中,if(args.length != 0)
//max = Integer.parseInt(args[0]); 这两行我不能理解,来帮忙解释下~谢谢啦

解决方案 »

  1.   

    不为零则转换类型再赋给max ?
      

  2.   

    args.length
    数组args的长度Integer.parseInt(args[0])
    将String强转成int型
      

  3.   

    如果参数数组args不为空,也就是长度不为0,则把参数数组args[0]的值整数格式化后赋值给max
    //   if   the   argument   has   been   provided: 
    以上这句话不就是解释吗,也叫注释 咔咔
      

  4.   

    args.length !=0 数组args的长度不为零,
    Integer.parseInt(args[0]) 就把这参数转换成int型,哈哈
      

  5.   

    它这里的要求应该是,需要用户输入一个数字,所以if(args.length   !=   0) 是用来判断用户有没有输入一个数字,
    因为在客户端输入的数据都当作String类型来处理,所以max   =   Integer.parseInt(args[0]); 转换成自己所需要的整数
      

  6.   

    这个是要用户在命令提示符输入一个数字,判断这个数是不是素数吧。
    从(String[]   args)数组参数可以看出,参数是以String类型传入的,
    当然就要转换成int型啊,Integer.parseInt(args[0])就是转换成int型,
    而传入的数组,当然用length返回的长度来判断是否有值啊,
    所以就用if(args.length != 0)来判断是否有数值传入