当前位置: 代码迷 >> Java相关 >> 一个简单程序,帮忙改下
  详细解决方案

一个简单程序,帮忙改下

热度:99   发布时间:2007-03-21 17:26:06.0
一个简单程序,帮忙改下

目的:输入整数内的所有质数并打印,程序如下:
但是出现了不能控制输入数的问题,现在可以输入任何数据,都有输出。
还发现in的值为随即的,都整晕了。为什么会出现这种情况呢?又怎么改
指教下,谢谢

import java.io.*;
public class Test1{
public static void main(String args[])throws IOException
{
int cnt=0,in;
boolean flag;
in=System.in.read();

System.out.println("in= "+in); \\加来看in值的

for (int i=1;i<=in;i++){
flag=true;
for(int j=2;j<i;j++)
{
if(i%j==0)flag=false;
}
if(flag==true)
{
System.out.print(i+"\t") ;
cnt++;
if(cnt%5==0)System.out.println();
}
}
}
}


----------------解决方案--------------------------------------------------------
你题目的要求我都不清楚哦
----------------解决方案--------------------------------------------------------

import java.util.Scanner;

public class Test1{
public static void main(String[] args){
Scanner scanner=new Scanner(System.in);
System.out.println("input number:");
int n=scanner.nextInt();
for(int i=2;i<n;i++){
if(isPrime(i)){
System.out.print(i+" ");
}
}
}

private static boolean isPrime(int num){
int n=(int)Math.sqrt(num);
for(int i=2;i<=n;i++){
if(num%i==0)
return false;
}
return true;
}
}


----------------解决方案--------------------------------------------------------
purana GG 整天和我作对 昏迷~~~

----------------解决方案--------------------------------------------------------
以下是引用神vLinux飘飘在2007-3-21 18:09:40的发言:
purana GG 整天和我作对 昏迷~~~

哈哈哈哈,尝到了美女的力量了吧


----------------解决方案--------------------------------------------------------
人家是男的,这你都看不出来,白痴一个...
----------------解决方案--------------------------------------------------------


----------------解决方案--------------------------------------------------------

谢谢!
不过为什么直接用System.in.read()不能直接读入整数呢?指点下迷经嘛


----------------解决方案--------------------------------------------------------
System.in.read()读回的是ASCII码

比如你输入0,它就返回48
----------------解决方案--------------------------------------------------------
哦,谢谢千里
----------------解决方案--------------------------------------------------------
  相关解决方案