Javase | Java题目、Java算法题(不断添加中…)

目录:

  • Java算法题
      • 1. 编写Java程序, 打印几个特定的ASCII码,包括数组0和9,大写字母A和Z ,小写字母a和z
      • 2.编写程序,对是哪个整型变量进行排序,按照从小到大的顺序排列
      • 3.用if语句的嵌套,根据学生成绩判断等级
      • 4.用switch语句,根据传入的月份的参数,显示该月有多少天。程序中假定2月份固定为28天,不考虑闰年问题
      • 5.编写程序,使用while循环计算1+2+3+...+100的值。
      • 6.编写程序,计算1+1/3+1/5+1/7+...+1/(2×n+1)的值。
      • 7.编写程序,将32-126之间的95个字符显示在屏幕上。
      • 8.用for循环编写九九乘法表
      • 9.打印3~100之间的素数,每行打印6个数
      • 10.获得任意一个时间的下一天
      • 11.将某个时间以固定的格式转换为字符串
      • 12.编写一个截取字符串的函数,输入一个字符串和字节数,输出按字节数截取的字符串
      • 13.判断回文数
      • 14.输入一个数.且判断是不是斐波那契数
      • 15.输入五个数,判断其最大值
      • 16.计算银行利息题目 ,本金10万元,求什么年一共超过15万元
      • 17.输入一个正整数,求各位数的数字之和
      • 18.求数列s=1+12+123+1234+... 123456789的前九项的和
      • 19.计算sum=1-1/2!+1/3!-... (-1)^(n-1)/n!
      • 20.输入一个数,判断其是不是素数
      • (不断添加中…)

Java算法题

1. 编写Java程序, 打印几个特定的ASCII码,包括数组0和9,大写字母A和Z ,小写字母a和z

/*编写Java程序, 打印几个特定的ASCII码,包括数组0和9,大写字母A和Z ,小写字母a和z*/
public class PrintAscii {public void dispAscii(char ch) { //输入的字符int ascii =(int) ch; //将字符转换为“ASCII码”System.out.println(ch+"的Ascii码是: "+ascii);}public static void main(String[] args) {PrintAscii pa = new PrintAscii();pa.dispAscii('0'); //48pa.dispAscii('9'); //57pa.dispAscii('A'); //65pa.dispAscii('Z'); //90pa.dispAscii('a'); //97pa.dispAscii('z'); //122}
}

2.编写程序,对是哪个整型变量进行排序,按照从小到大的顺序排列

/*编写程序,对是哪个整型变量进行排序,按照从小到大的顺序排列*/
public class SortABC {public static void main(String[] args) {int a = 100, b = 5, c = 307;int t;if(a>b){t=a;a=b;b=t;}if(a>c){t=a;a=c;c=t;}if(b>c){t=b;b=c;c=t;}System.out.println("排序之后: a="+a+", b="+b+", c="+c);}
}

3.用if语句的嵌套,根据学生成绩判断等级

/*用if语句的嵌套,根据学生成绩判断等级*/
public class IfDemo {public static void main(String[] args) {int score = 95;String grade;if (score >= 90) {grade = "优";}else if(score >= 80){grade = "良";}else if(score >= 70){grade = "中";}else if(score >= 60){grade = "及格";}else {grade = "不及格";}System.out.println("学生的成绩为: "+score);System.out.println("学生的等级为: "+grade);}
}

4.用switch语句,根据传入的月份的参数,显示该月有多少天。程序中假定2月份固定为28天,不考虑闰年问题

/*用switch语句,根据传入的月份的参数,显示该月有多少天。程序中假定2月份固定为28天,不考虑闰年问题*/
public class SwitchDemo {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);System.out.println("请输入月份: ");int month = scanner.nextInt();int days = 0;switch (month) {case 2 :  days = 30;  break;case 4 :  days = 30;  break;case 6 :  days = 30;  break;case 9 :  days = 30;  break;case 11 : days = 30;  break;default : days = 31;}System.out.println(month+"月有"+days+"天");}
}

5.编写程序,使用while循环计算1+2+3+…+100的值。

/*编写程序,使用while循环计算1+2+3+...+100的值*/
public class Sum100 {public static void main(String[] args) {int i = 1;int sum = 0;while (i <= 100) {sum += i;i++;}System.out.println("1到100的累加和是: "+sum);}
}

6.编写程序,计算1+1/3+1/5+1/7+…+1/(2×n+1)的值。

/*编写程序,计算1+1/3+1/5+1/7+...+1/(2×n+1)的值。要求计算到1/(2×n+1)小于0.00001时为止。当循环结束时,显示上述表达式中的n值,以及计算结果*/
public class DoWileDemo {public static void main(String[] args) {int n = 1;double sum = 1.0,temp;do {temp = 1.0/(2*n+1);sum += temp;n++;} while (temp >= 0.00001);System.out.println("循环结束时n的值为: "+(n-1));System.out.println("计算出来的结果是: "+sum);}
}

7.编写程序,将32-126之间的95个字符显示在屏幕上。

/*编写程序,将32-126之间的95个字符显示在屏幕上。为了美观,要求小于100的码值前填充一个0,每打印8个字符*/
public class ShowAscii {public static void main(String[] args) {String temp = "";for (int i = 32; i <= 126; i++) {//如果码值小于100,则码值前会填充一个0temp = i < 100 ?("0"+i):(""+i);System.out.print(temp+"="+(char)i+"  ");if ((i - 31) % 8 == 0) {System.out.print("\n");}}}
}

8.用for循环编写九九乘法表

/*用for循环编写九九乘法表*/
public class ChengFaBiao {public static void main(String[] args) {int i,j;for (i = 1; i <= 9; i++) {for (j = 1; j <= i; j++) {System.out.print(i+"*"+j+"="+i*j+"\t");}System.out.println("\n");}}
}

9.打印3~100之间的素数,每行打印6个数

/*打印3~100之间的素数,每行打印6个数*/
public class SuSu {//素数 : 素数一般指质数。质数是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数public static void main(String[] args) {System.out.println("3~100之间的素数有: ");boolean flag;int count = 0; //统计素数的个数for (int i = 3; i <= 100; i++) {//先假定该数为素数flag = true;for (int j = 2; j <= i / 2; j++) {if (i % j == 0) {//能其其他数整除,其不是素数flag = false;break;}}if (flag) { //如果是素数,则输出该素数System.out.print(i+"\t");count++;if (count % 6 == 0) {System.out.println();}}}}
}

10.获得任意一个时间的下一天

/*获得任意一个时间的下一天*/
public class NextDay {public static void main(String[] args) {/*java.util.Date类的底层实现是通过一个long类型的整型数据来保存日期,这个值记录的是任何一个时间距1970年1月1日,0点0分0秒的毫秒数。*/Date now = new Date();  //获得当前时间//打印下一天的时间System.out.println(getNextDate(now)+"==========");}//获得下一天的时间private static Date getNextDate(Date d) {/*增加的时间为一天。一天有24小时,一小时有60分钟,一分钟有60秒,1秒为1000毫秒*/long addTime = 1 * 24 * 60 * 60 * 1000; //表示一天时间的毫秒数System.out.println(addTime+" ----  ");//用毫秒数构造新的日期Date date = new Date(d.getTime() + addTime);return date;}
}

11.将某个时间以固定的格式转换为字符串

/*将某个时间以固定的格式转换为字符串*/
public class DateFormat {public static void main(String[] args) {//现在的时间Date now = new Date();//打印现在时间的字符串格式System.out.println(dateFormatStr(now));}//将Date类型格式的时间,转换为特定字符串格式的时间 的方法private static String dateFormatStr(Date now) {//定义字符串的格式SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");String str = sdf.format(now);return str;}
}

12.编写一个截取字符串的函数,输入一个字符串和字节数,输出按字节数截取的字符串

  • 编写一个截取字符串的函数,输入一个字符串和字节数,输出按字节数截取的字符串。但要保证函数不被截半个,如"我ABC" 4,应该截取 “我AB”,输入“我ABC汉DEF” 6,应该输出 “ABC”,而不是"我ABC+汉的半个"。

  • 试题分析: 容易产生混淆的是中文字符和英文字符。要注意的是: 中文字符占两个字节,英文字符占一个字节。(此程序:如果一个汉字被截取了1个字节的话,是会被丢弃的)

  • /*编写一个截取字符串的函数,输入一个字符串和字节数,输出按字节数截取的字符串。但要保证函数不被截半个,如"我ABC" 4,应该截取 "我AB",输入“我ABC汉DEF” 6,应该输出 “ABC”,而不是"我ABC+汉的半个"。试题分析: 容易产生混淆的是中文字符和英文字符。要注意的是: 中文字符占两个字节,英文字符占一个字节。(此程序:如果一个汉字被截取了1个字节的话,是会被丢弃的)*/
    public class InterceptionStr {  //此程序:如果一个汉字被截取了1个字节的话,是会被丢弃的。static String ss; //要进行截取操作的字符串static int n;     //截取的字符串的字节数public static void main(String[] args) {System.out.println("请输入字符串: ");Scanner sc1 = new Scanner(System.in);ss = sc1.next(); //将Scanner对象中的内容以字符串的形式取出来System.out.println("请输入字节数:");Scanner sc2 = new Scanner(System.in);n = sc2.nextInt(); //将Scanner对象中的内容以数值的形式取出来//调用截取字符串的方法interception(setValue()); //传给该方法的参数为: 一个字符串数组}/*将“字符串”转换为“字符串数组“*/public static String[] setValue() {//创建一个字符串数组String[] string = new String[ss.length()];//将”字符串“中的每个"字符"取出且存入到"字符串数组string"中for (int i = 0; i < string.length; i++) {//只包括i,不包括i+1string[i] = ss.substring(i, i+1); //将字符串ss中的第i个"字符"取出,放入“字符串数组”中}return string; //将这个字符数组返回}/*截取字符串的方法*/public static void interception(String [] string) {int count = 0;String pattern = "[\u4e00-\u9fa5]"; //汉字的正则表达式System.out.println("以每" + n + "字节划分的字符串如下所示: ");for (int i = 0; i < string.length; i++) {//判断字符串数组中的每一个字符串是“汉字”还是“数字”//将字符数组中的每一个元素与正则表达式进行匹配,如果相同则返回true,同时计算该要被截取的字符串ss的字节数: countif (string[i].matches(pattern)) {count = count + 2;  //如果当前字符是汉字,计时器count就+2} else {count = count + 1;  //如果当前字符不是汉字,计时器count+1}if (count < n) { //如果当前计时器count的值小于n,则输出当前字符串System.out.print(string[i]);} else if (count == n) { //如果当前计时器count的值等于n,则输出当前字符串System.out.print(string[i]);count = 0; //因为一次截取n个字节,现在已经够了,重新开始截取下一次的n个字节System.out.println();} else {count = 0; //如果当前计时器count的大于n。则计算器count清零,接着执行外部循环System.out.println();}}}
    }
    

13.判断回文数

  • 如何判断回文数
    有这样一类数,它们顺着看和倒着看是相同的数,该数即为"回文数"
    例如: 121、656、2322,这样的数字被称为回文数字。
  • 试题分析:可以通过该数字倒置的位置栏判断它是否是回文数字。
/*如何判断回文数。有这样一类数,它们顺着看和倒着看是相同的数,该数即为"回文数"例如: 121、656、2322,这样的数字被称为回文数字。试题分析:可以通过该数字倒置的位置栏判断它是否是回文数字。*/
public class Palindrome {public static void main(String[] args) {int n;System.out.println("请输入一个整数: ");Scanner scInt = new Scanner(System.in);n = scInt.nextInt();if (isPalindrome(n)) {System.out.println(n + "是回文!");} else {System.out.println(n + "不是回文!");}}//判断是不是回文数private static boolean isPalindrome(int n) {//调用方法,将要判断的数进行倒置int m = reverse(n);if (m == n) { //如果不倒置数 = 倒置数,有其是回文数return true;} else {return false;}}//将传入的数进行倒置private static int reverse(int i) {int s, j = 0;s = i;while (s != 0) {// *10 的原因: 倒置的话每次位数要升一级,自然要*10j = (j * 10) + (s % 10);s = s / 10;}return j;}
}

14.输入一个数.且判断是不是斐波那契数

  Scanner in = new Scanner (System.in);System.out.println("请输入一个整数:");int shuzhi = in.nextInt();while (shuzhi>f1) {f3=f1+f2;f1=f2;f2=f3;     //出现所有的Fibonacci数,且让f2也当过所有的...数
}if (shuzhi==f2) {System.out.println(shuzhi+"是Fibonacci数");}elseSystem.out.println(shuzhi+"不是Fibonacci数");

15.输入五个数,判断其最大值

/** 思想:设置max 和先输入一个数,并设其为最大值,然在循环语句中输入剩余的四个数,符合条件则让它是最大值,不是则继续循环,输入数字。*/
import java.util.Scanner;
public class shijie {public static void main(String[] args) {Scanner in = new Scanner(System.in);int soum1,max,x,weishu=1;System.out.println("请输入一个数");	soum1 = in.nextInt();max = soum1;while(weishu<=4){System.out.println("请输入一个数");	x = in.nextInt();	if(x>max){max = x;			 }weishu++;}System.out.println("最大值为:" +max);	}
}

16.计算银行利息题目 ,本金10万元,求什么年一共超过15万元

 int year =2018; float money = 10l;while (money <=15) {money *= 1.04f;year++;}System.out.println("超过的时间是:" +year );

17.输入一个正整数,求各位数的数字之和

//题目:题目四:输入一个正整数,各位数的数字之和。
/** 原理:先用求余(%),求出最后一位数的数,--相加* -----有此效果的原因:%后会有一个余数(如789/10=78...9(余9),那用上%号就收集此余数* 然后用除法 (/),删除刚刚已经用过的最后一位数,-----* -----有此效果的原因:/ 后由于整数求除的性质,+任何数10 = 就是有一个整数带加一个余数,(如789/10=78...9(余9),结合整除小数点后没有内容,就去掉了最后一位数)**/
//声明的变量有:weishu,sum;
import java.util.Scanner;
public class One {public static void main(String[] args) {Scanner in = new Scanner(System.in);int weishu ,sum=0,a;System.out.println("请输入一个数");weishu  = in.nextInt();while  (weishu !=0){    //输入的数不等于0,才能继续操作//收集位数的最后一项,且相加a = weishu%10;sum = sum +a;//除去刚已用过的位数,形成一个新的数weishu = weishu/10;}System.out.println("各位数之和为" +sum);}
}

18.求数列s=1+12+123+1234+… 123456789的前九项的和

/*
求数列s=1+12+123+1234+... 123456789的前九项的和*/
public class One {public static void main(String[] args) {int sum =0 ,i= 1,a= 0 ;int weishu = 9;while (i<=weishu) {a= a*10+i;sum +=a;i++;}System.out.println(sum);}
}

19.计算sum=1-1/2!+1/3!-… (-1)^(n-1)/n!

 /*计算sum=1-1/2!+1/3!-... (-1)^(n-1)/n!*/
import java.util.Scanner;
public class Demo {public static void main(String[] args) {Scanner in = new Scanner (System.in);double z =0,x=1; int y=1,n;System.out.println("请输入一个数" );n = in.nextInt();while (y<=n) {z = z+x;y= y+1;x= x*(1.0/y);}System.out.println("sum:" +z );}
}

20.输入一个数,判断其是不是素数

public class Demo {public static void main(String[] args) {Scanner in = new Scanner (System.in);System.out.println("请输入一个数");int soum1 = in.nextInt();boolean soum2 = false;for (int i =2;i<soum1;i++) {if (soum1%i == 0) {soum2 = true;}}if (soum2) {System.out.println("此数不是素数");}else {System.out.println("此数是素数");}}
}

(不断添加中…)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/182639.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【软件测试学习】—软件测试模型(二)

【软件测试学习】—软件测试模型&#xff08;二&#xff09; 我 | 在这里 &#x1f469;‍&#x1f9b0;&#x1f469;‍&#x1f9b0; 读书 | 长沙 ⭐计算机科学与技术 ⭐ 本科 【2024届】 &#x1f383;&#x1f383; 爱好 | 旅游、跑步、网易云、美食、摄影 &#x1f396;️…

Uniapp iOS打包配置教程

简介 在Uniapp开发过程中,我们常常需要将应用打包成iOS的安装包。本文将分步骤指导你如何配置iOS打包,并提供相应的代码和注释说明。 流程概览 下表展示了配置iOS打包的整个流程: 步骤描述步骤1创建iOS工程步骤2配置基本信息步骤3添加Uniapp支持步骤4配置App图标步骤5配置…

VR特警野外武装仿真虚拟训练实操教学保证训练效果

特警VR模拟仿真训练软件的优势主要体现在以下几个方面&#xff1a; 真实感和沉浸感&#xff1a;通过VR技术&#xff0c;特警可以在虚拟环境中体验真实的训练场景&#xff0c;如人质解救、反恐行动等。这种真实感和沉浸感可以帮助特警更好地理解和适应实际情况&#xff0c;提高训…

GoLang切片

一、切片基础 1、切片的定义 切片&#xff08;Slice&#xff09;是一个拥有相同类型元素的可变长度的序列它是基于数组类型做的一层封装它非常灵活&#xff0c;支持自动扩容切片是一个引用类型&#xff0c;它的内部结构包含地址、长度和容量声明切片类型的基本语法如下&#…

阿里巴巴矢量图标库的使用

iconfont-阿里巴巴矢量图标库iconfont-国内功能很强大且图标内容很丰富的矢量图标库&#xff0c;提供矢量图标下载、在线存储、格式转换等功能。阿里巴巴体验团队倾力打造&#xff0c;设计和前端开发的便捷工具https://www.iconfont.cn/ 今天来介绍一下阿里巴巴矢量图标库的使用…

【人工智能Ⅰ】实验2:遗传算法

实验2 遗传算法实验 一、实验目的 熟悉和掌握遗传算法的原理、流程和编码策略&#xff0c;理解求解TSP问题的流程并测试主要参数对结果的影响&#xff0c;掌握遗传算法的基本实现方法。 二、实验原理 旅行商问题&#xff0c;即TSP问题&#xff08;Traveling Salesman Proble…

2023最新的软件测试热点面试题(答案+解析)

&#x1f4e2;专注于分享软件测试干货内容&#xff0c;欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd; 如有错误敬请指正&#xff01;&#x1f4e2;交流讨论&#xff1a;欢迎加入我们一起学习&#xff01;&#x1f4e2;资源分享&#xff1a;耗时200小时精选的「软件测试」资…

基于Qt QChart和QChartView实现正弦、余弦、正切图表

# 源码地址 https://gitcode.com/m0_45463480/QChartView/tree/main# .pro QT += charts​​HEADERS += \ chart.h \ chartview.h​​SOURCES += \ main.cpp \ chart.cpp \ chartview.cpp​​target.path = $$[QT_INSTALL_EXAMPLES]/charts/zoomlinechartINSTAL…

借助 DPM 代码扫描的力量解锁医疗设备的可追溯性

在当今的医疗保健系统中&#xff0c;医疗设备的可追溯性变得比以往任何时候都更加重要。为了增强现代医疗保健领域的可追溯性和安全性&#xff0c;UDI 条形码充当唯一设备标识的标准&#xff0c;为医疗设备提供唯一标识符。 DataMatrix 代码&#xff08;或直接零件标记代码&am…

初识向量数据库

背景 现在的数据分为20%的传统结构化数据&#xff0c;80%的非结构化数据 结构化数据&#xff1a;主要单元是数值与符号&#xff0c;数据类型高度抽象且易于组织。基于数值运算与关系代数&#xff0c;可以轻松地对结构化数据进行分析。 非结构化数据&#xff1a;常见的类型包括…

【数据库连接池】04:连接池空闲连接回收

连接池空闲连接回收 OVERVIEW 连接池空闲连接回收1.需求分析2.Connection添加字段3.CommonConnectionPool中调用刷新4.CommonConnectionPool中定时扫描CommonConnectionPool.hCommonConnectionPool.cpp 1.需求分析 多余的连接如果超过指定的时间&#xff0c;还没有再次被使用到…

Android 9.0 系统默认显示电量百分比

Android 9.0 系统默认显示电量百分比 近来收到项目需求需要设备默认显示电量百分比&#xff0c;具体修改参照如下&#xff1a; /frameworks/base/packages/SystemUI/src/com/android/systemui/BatteryMeterView.java private void updateShowPercent() {final boolean showin…

函数保留凸性的一些运算,限制为一条线

凸优化在学术研究中非常重要&#xff0c;经常遇到的问题是证明凸性。常规证明凸性的方式是二阶导数的黑塞矩阵为半正定&#xff0c;或者在一维函数时二阶导数大于等于零。但很多时候的数学模型并不那么常规、容易求导的&#xff0c;若能够知道一些保留凸性的运算&#xff0c;将…

linux 账号管理实例一,stdin,passwd复习

需求 账号名称全名次要用户组是否可登录主机密码 myuser1 1st usermygroup1yespasswordmyuser22st usermygroup1yespasswordmyuser33st user无nopassword 第一&#xff1a;用户&#xff0c;和用户组创建&#xff0c;并分配有效用户组&#xff08;初始用户组是passwd里…

11.24 力扣优先队列

题目 给你一个整数数组 nums 和一个整数 k &#xff0c;请你返回其中出现频率前 k 高的元素。你可以按 任意顺序 返回答案。 示例 1: 输入: nums [1,1,1,2,2,3], k 2 输出: [1,2]示例 2: 输入: nums [1], k 1 输出: [1] 思路&#xff1a;首先遍历整个数组&#xff0c;并…

Java中的过滤器、拦截器和aop

目录 1、过滤器、拦截器和aop有什么区别及各自的应用场景 2、拦截器和aop的区别是什么 3、举个例子 4、拦截器和过滤器有什么区别 1、过滤器、拦截器和aop有什么区别及各自的应用场景 Java中的过滤器&#xff08;Filter&#xff09;、拦截器&#xff08;Interceptor&#…

97.STL-查找算法 find

目录 STL-查找算法find 1.基本用法&#xff1a; 2.查找自定义类型&#xff1a; 3.查找范围&#xff1a; STL-查找算法find 在C的STL&#xff08;标准模板库&#xff09;中&#xff0c;find 算法用于在指定范围内查找指定值的元素。 功能描述&#xff1a; 查找指定元素&…

YOLOV8解读及推理代码

YOLOV8解读及推理代码 YOLOV8前言性能对比新的骨干网络新的 Ancher-Free 检测头新的损失函数环境配置训练基于python脚本基于命令行 推理pt模型推理onnx模型推理 YOLOV8 前言 YOLOv8并非一个全新的目标检测网络&#xff0c;而是在YOLOv5的基础上进行了升级。其主要升级包括&am…

ASCII sorting

描述 输入一个字符串&#xff0c;对其字符进行排序&#xff0c;输出其字符按ASCII码升序排列。 输入 无空格字符串 输出 按ASCII码升序输出其字符。 样例输入 and 样例输出 adn code&#xff08;c版本&#xff09; #include<stdio.h> #include<stdlib.h> // qs…