Java编程:编写用于输出1~100间的整数,且此整数必须满足:它是3的倍数,但不是5的倍数,也不是9的倍数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java编程:编写用于输出1~100间的整数,且此整数必须满足:它是3的倍数,但不是5的倍数,也不是9的倍数相关的知识,希望对你有一定的参考价值。

Java编程:编写程序用于输出1~100间的整数,并且此整数必须满足:它是3的倍数,但不是5的倍数,也不是9的倍数。求这些的和以及平均数。
求大神指点必有悬赏追加!!

public static void main(String[] args) throws UnsupportedEncodingException
    
        // 平均数
        double avg = 0;
        // 总合
        double sum = 0;
        // 符合条件的数字个数
        int num = 0;
        for (int i = 1; i < 100; i++)
        
            // 是3的倍数
            if (i % 3 == 0)
            
                // 不是5,也不是9的倍数
                if (i % 5 != 0 && i % 9 != 0)
                
                    num++;
                    sum = sum + i;
                
            
        
        // 求平均数
        avg = sum / num;
        System.out.println("共 " + num + " 个符合条件的数字,他们总和:" + sum);
        System.out.println("平均数:" + avg);
    

参考技术A int sum=0;
int count=0;
for(int i=1;i<=100;i++)
if(i%3==0&&i%5!=0&&i%9!=0)
sum+=i;
count++;


平均数你就sum除于count,和就是sum。希望可以帮到你
参考技术B int sum = 0;
for(int i = 3;i<100;i+=3)
    if(i%5 == 0 || i%9==0)
        continue;
    
    sum += i;


// sum 就是和

参考技术C 追加多少?

JAVA的IO编程:管道流

掌握线程通讯流(管道流)的使用

管道流的主要作用是可以进行两个线程间的通讯,分为管道输入流(PipeOutputStream)和管道输出流(PipeInputStream)。

如果要想进行管道输出,则必须把输出流连在输入流之上,在PipeOutputStream上有如下方法用于连接管道。

 void connect(PipedInputStream snk) 
          将此管道输出流连接到接收者。 

要想连接输入和输出,必须使用此方法、

 

 

PipeOutputStream输出方法:

void write(byte[] b, int off, int len) 
          将 len 字节从初始偏移量为 off 的指定 byte 数组写入该管道输出流。 

PipeInputStream输入方法:读取文件的方法

将连接的PipeOutputStream对象实例的输入流的数据,通过read方法,把内容读取到数组中

 int read(byte[] b, int off, int len) 
          将最多 len 个数据字节从此管道输入流读入 byte 数组 

 

实例代码:

package 类集;
import java.io.* ;
class Send implements Runnable{            // 线程类
    private PipedOutputStream pos = null ;    // 管道输出流
    public Send(){
        this.pos = new PipedOutputStream() ;    // 实例化输出流
    }
    public void run(){
        String str = "Hello World!!!" ;    // 要输出的内容
        try{
            this.pos.write(str.getBytes()) ;
        }catch(IOException e){
            e.printStackTrace() ;
        }
        try{
            this.pos.close() ;
        }catch(IOException e){
            e.printStackTrace() ;
        }
    }
    public PipedOutputStream getPos(){    // 得到此线程的管道输出流
        return this.pos ;    
    }
};
class Receive implements Runnable{
    private PipedInputStream pis = null ;    // 管道输入流
    public Receive(){
        this.pis = new PipedInputStream() ;    // 实例化输入流
    }
    public void run(){
        byte b[] = new byte[1024] ;    // 接收内容
        int len = 0 ;
        try{
            len = this.pis.read(b) ;    // 读取内容
        }catch(IOException e){
            e.printStackTrace() ;
        }
        try{
            this.pis.close() ;    // 关闭
        }catch(IOException e){
            e.printStackTrace() ;
        }
        System.out.println("接收的内容为:" + new String(b,0,len)) ;//注意,这里是把读入的数组的数据输出,而不是PipeInputStream实例对象输出,
    }
    public PipedInputStream getPis(){
        return this.pis ;
    }
};
public class PipedDemo{
    public static void main(String args[]){
        Send s = new Send() ;
        Receive r = new Receive() ;
        try{
            s.getPos().connect(r.getPis()) ;    // 连接管道
        }catch(IOException e){
            e.printStackTrace() ;
        }
        new Thread(s).start() ;    // 启动线程
        new Thread(r).start() ;    // 启动线程
    }
};

 

PipeInputStream读取文件后,读取的数据都存在了PipeInputStream对象的实例中,且类型为byte。

总结:

开发中很少直接开发多线程程序,本道程序,只是让读者加深读写的操作过程,了解,线程间如何通讯。

 

以上是关于Java编程:编写用于输出1~100间的整数,且此整数必须满足:它是3的倍数,但不是5的倍数,也不是9的倍数的主要内容,如果未能解决你的问题,请参考以下文章

编程题目:随机产生1个整数(整数的范围为0-100),怎么编写?

C#编程:输入一个4位数的正整数,编写程序,输出这个数的千位,百位,十位,个位。

在JAVA中用for循环编写程序计算1~100之间的奇数之和

VB编程题:编写一个产生1 至100之间的随机整数的Function 过程

怎么使用java编程: 1、 随机产生一个1-100(小于100)内的整数,由用户通过键盘输入来猜,当从

用c语言编程实现输出100以内的所有是3的倍数,或者含有3的正整数。要求输出时所有的数都以逗号隔开