java输出1-100的质数,合数,这些代码有哪些问题呢

哈哈import java.util.Scanner;
public class text8 {
public static void main(String[] args) {
System.out.println("请输入一个整数");
Scanner sc=new Scanner(System.in);
int i=sc.nextInt();

            int a=1;
    
           for (int b=i%a;i>2; a++){

               if(b==0&&a!=1&&a!=i){System.out.println(i+"是合数");}

               else{System.out.println(i+"是质数");

               }
               break; }
}

}

else{System.out.println(i+"是质数");
这个,要全部判断完了才能确认,不是说一个不能整除就是质数了。

import java.util.Scanner;

public class text8 {
    public static void main(String[] args) {
        System.out.println("请输入一个整数");
        Scanner sc=new Scanner(System.in);
        int i=sc.nextInt();

        for (int a=2;a<i;a++){
            int b=i%a;
            if(b==0&&a!=i){
                System.out.println(i+"是合数");
                break;
            }
            else{
                System.out.println(i+"是质数");
                break;
            }
        }
    }
}

  • 这个问题的回答你可以参考下: https://ask.csdn.net/questions/753825
  • 你也可以参考下这篇文章:Java中Scanner的用法:单行/多行输入
  • 除此之外, 这篇博客: java:对Scanner的字符输入相关用法中的 源码 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • /*所想:
    	输入字符串
    	用 import java.util.Scanner; 的方法,创建Scanner类
    	对于Csanner一类的A可以用很多次
    */
    
    import java.util.Scanner;//引入Scanner类型
    class Demo{
    	public static void main(String[] args){
    		Scanner A=new Scanner(System.in);//创建Scanner一类A
    		System.out.print("输入f类型数值:");//提示符
    		float a0=A.nextFloat();//输入的数值a0为Scanner一类A
    			System.out.println("你输入的数值(f型)为:"+a0);
    		System.out.print("输入i类型数值:");//提示符
    		int a1=A.nextInt();//输入的数值a1位Scanner一类A
    			System.out.println("你输入的数值(i型)为:"+a1);
    	}
    }
    
    
  • 您还可以看一下 胡必腾老师的Java互联网开发筑基课课程中的 1.3.03 JavaSE 分支和循环语句 Scanner工具类介绍小节, 巩固相关知识点