Java作业1

news/2025/1/15 16:11:29/

1.编写程序数一下 1到 100 的所有整数中出现多少个数字9

十位  n/10

个位  n%10

    public static void main(String[] args) {int count = 0;for (int i = 1; i <= 100; i++) {if(i / 10 == 9){count++;}if(i%10==9){count++;}}System.out.println(count);}

2.给定一个数字,判定一个数字是否是素数

方法一

public static void main(String[] args) {Scanner scanner = new Scanner(System.in);int n = scanner.nextInt();int i;for (i = 2;i < n;i++) {if(n%i == 0) {System.out.println("n不是素数:"+n);break;}}if(i >= n) {System.out.println(n + "是素数");}

方法二:任何一个数字n,都可以写成 n = a*b的形式。那么必然会有一个数字是小于等于2/n的。

public static void main(String[] args) {Scanner scanner = new Scanner(System.in);int n = scanner.nextInt();int i;for (i = 2;i <= n/2;i++) {if(n%i == 0) {//System.out.println("n不是素数:"+n);break;}}if(i > n/2) {System.out.println(n + "是素数");}
}

方法三:任何一个数字n,都可以写成 n = a*b的形式。那么必然会有一个数字是小于等于根号n的。

public static void main(String[] args) {Scanner scanner = new Scanner(System.in);int n = scanner.nextInt();int i;for (i = 2;i <= Math.sqrt(n);i++) {if(n%i == 0) {//System.out.println("n不是素数:"+n);break;}}if(i > Math.sqrt(n)) {System.out.println(n + "是素数");}
}

变式:求出1到n之间所有素数

    public static void main(String[] args) {Scanner scanner = new Scanner(System.in);int n = scanner.nextInt();for (int k = 1; k < n; k++) {int i = 2;for (; i < k; i++) {if(k%i==0){break;}}if (i == k){System.out.println(k+"是素数");}}}

 

 3.给定两个数,求这两个数的最大公约数

public static void main(String[] args) {int a = 18;int b = 24;int c = a%b;while (c != 0) {a = b;b = c;c = a%b;}System.out.println(b);
}

4.计算1/1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100 的值 。 

    public static void main(String[] args) {double sum = 0.0;int flag = 1;for (int i = 1; i <= 100; i++) {sum+=1.0/i * flag;flag = -flag;}System.out.println(sum);}

5.KiKi学习了循环,BoBo老师给他出了一系列打印图案的练习,该任务是打印用“*”组成的X形图案。

输入描述:

多组输入,一个整数(2~20),表示输出的行数,也表示组成“X”的反斜线和正斜线的长度。

输出描述:

针对每行输入,输出用“*”组成的X形图案。

import java.util.Scanner;// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);int n;while (scanner.hasNextInt()) {n = scanner.nextInt();for(int i = 0; i < n; i++){for(int j = 0; j< n; j++){if(i == j || (i + j) == n-1){System.out.print("*");}else{System.out.print(" ");}}System.out.println();}}}  
}

6.编写代码模拟三次密码输入的场景。 最多能输入三次密码,密码正确,提示“登录成功”,密码错误, 可以重新输 入,最多输入三次。三次均错,则提示退出程序

    public static void main(String[] args) {Scanner scanner = new Scanner(System.in);int count = 3;while(count != 0){System.out.println("请输入密码,你还有 " + count + " 次机会!");String password = scanner.nextLine();if(password.equals("1234")){System.out.println("登陆成功");}else{System.out.println("密码错误");}}}

7.输出n*n的乘法口诀表,n由用户输入。

public static void main(String[] args) {for (int i = 1; i <= 9 ; i++) {for (int j = 1; j <= i; j++) {//注意这里的拼接,不要是换行System.out.print(j+"*"+i+"="+i*j+" ");}System.out.println();}
}

8.求出0999之间的所有水仙花数并输出。(“水仙花数是指一个三位数,其各位数字的立方和确

好等于该数

本身,如: 153 1^3 5^3 3^3 ,则 153 是一个 水仙花数 )

 

    public static void main(String[] args) {for (int i = 0; i < 999999; i++) {int count = 0;//计算i有几位数int tmp = i;while(i != 0){count++;i = i / 10;}//count的值是多少位数 i还是没有变的//计算i的每一位tmp = i;int sum = 0;while(tmp != 0){sum += Math.pow(tmp % 10, count);tmp /= 10;}if (sum == i){System.out.println(i);}}}

  9.写一个函数返回参数二进制中 1 的个数 ,比如: 15    0000 1111 4 1

 

每一次&都会少掉一个1

10. 获取一个数二进制序列中所有的偶数位和奇数位,分别输出二进制序列。 

  public static void main(String[] args) {int n = 7;for (int i = 31; i >= 0 ; i-=2) {System.out.print(((n >>> i) & 1 )+" ");//右移}System.out.println();//换行for (int i = 30; i >= 0 ; i-=2) {System.out.print(((n >>> i) & 1 )+" ");}}

 

 


http://www.ppmy.cn/news/998945.html

相关文章

blender的下载安装和配置中文环境

引言 在3D建模和动画设计领域&#xff0c;Blender 作为一款强大且免费的开源软件&#xff0c;一直以优秀的性能和对众多技术的支持赢得了大批用户的喜爱。然而&#xff0c;对于刚接触这款软件的用户而言&#xff0c;其安装和配置过程可能会带来一定困扰&#xff0c;尤其是在设…

DK7 vs JDK8 vs JDK11特性和功能的对比

JDK7 vs JDK8 vs JDK11特性和功能的对比 Java Development Kit (JDK) 是 Java 程序员所使用的开发工具包&#xff0c;它提供了编译、调试和运行 Java 程序所需的一切。JDK 在不同的版本中引入了许多新的特性和功能&#xff0c;下面我们来比较 JDK7、JDK8 和 JDK11 之间的一些重…

概率论与数理统计复习总结3

概率论与数理统计复习总结&#xff0c;仅供笔者复习使用&#xff0c;参考教材&#xff1a; 《概率论与数理统计》/ 荣腾中主编. — 第 2 版. 高等教育出版社《2024高途考研数学——概率基础精讲》王喆 概率论与数理统计实际上是两个互补的分支&#xff1a;概率论 在 已知随机…

【环境配置】Ubuntu安装OpenCV和OpenCV_contrib

0、什么是opencv_contrib OpenCV和OpenCV contrib是两个密切相关的库&#xff0c;它们都是在OpenCV项目中使用的。OpenCV是一个开源的计算机视觉库&#xff0c;提供了许多常用的计算机视觉算法。然而&#xff0c;由于某些算法可能受到专利保护或其他原因&#xff0c;这些算法并…

思科模拟器配置静态路由(下一跳使用IP)

Router0配置代码&#xff1a;##端口配置 Router(config)#int fastEthernet 0/0 Router(config-if)#ip address 192.168.10.254 255.255.255.0 Router(config-if)#no shutdown Router(config-if)#int fastEthernet 0/1 Router(config-if)#ip address 192.168.20.1 255.255.255.2…

【Java从入门到大牛】集合进阶下篇

&#x1f525; 本文由 程序喵正在路上 原创&#xff0c;CSDN首发&#xff01; &#x1f496; 系列专栏&#xff1a;Java从入门到大牛 &#x1f320; 首发时间&#xff1a;2023年8月2日 &#x1f98b; 欢迎关注&#x1f5b1;点赞&#x1f44d;收藏&#x1f31f;留言&#x1f43e…

Boost开发指南-3.11pool_alloc

pool_alloc pool_alloc提供了两个可以用于标准容器模板参数的内存分配器&#xff0c;分别是pool_alloc和fast_pool_allocator&#xff0c;它们的行为与之前的内存池类有一点不同——当内存分配失败时会抛出异常std::bad_alloc。它们位于名字空间boost&#xff0c;需要包含头文…

JAVA 反编译工具

Releases deathmarine/Luyten GitHub 安装exe 打开拖入文件即可