java刷题(1-5)
第一题:在一个数组中找出三个数相加之和为0,且不重复的集合
import java.lang.reflect.Array;
import java.security.PublicKey;
import java.util.ArrayList;
import java.util.List;
import java.util.Arrays;
public class AddThreenumber {
public static List<List<Integer>> threenumber(int[] nums){
Arrays.sort(nums);
List<List<Integer>> ls = new ArrayList<List<Integer>>();
for (int i = 0; i < nums.length - 2; i++) {
if (i == 0 || (i > 0 && nums[i] != nums[i - 1])) { // 跳过可能重复的答案 int l = i + 1, r = nums.length - 1, sum = 0 - nums[i];
while (l < r) {
if (nums[l] + nums[r] == sum) {
ls.add(Arrays.asList(nums[i], nums[l], nums[r]));
while (l < r && nums[l] == nums[l + 1]) l++;
while (l < r && nums[r] == nums[r - 1]) r--;
l++;
r--;
} else if (nums[l] + nums[r] < sum) {
while (l < r && nums[l] == nums[l + 1]) l++; // 跳过重复值
l++;
} else {
while (l < r && nums[r] == nums[r - 1]) r--;
r--;
}
}
}
}
System.out.println(ls);
return ls;
}
public static void main(String[] args){
int[] nums={-1, 0, 1, 2, -1, -4};
threenumber(nums);
}
}
第二题:输入一个字符串,计算其中的大小写字母及数字的个数
import java.util.*;
public class Count { public static void main(String[] args){
System.out.println("请输入一串字符");
Scanner scan= new Scanner(System.in);
if(scan.hasNext()){
String i =scan.next();
int capital_numbercount=0,lower_numbercount=0,number=0;
for(int j=0;j<=i.length()-1;j++){
char s=i.charAt(j);
if('a'<=s&&'z'>=s){
lower_numbercount=lower_numbercount+1;
}
else if('A'<=s&&'Z'>=s){
capital_numbercount=capital_numbercount+1; }
else if('0'<=s&&'9'>=s){
number=number+1;
} }
System.out.printf("您所输入的字符串是:%s\n",i);
System.out.printf("其中大写字母的个数为:%d个\n",capital_numbercount);
System.out.printf("其中小写字母的个数为:%d个\n",lower_numbercount);
System.out.printf("其中整数的个数为:%d个\n",number); }
else{
System.out.println("请重新输入");
} } }
第三题:使用类及方法实现计算器加减乘除基本功能
import java.util.*;
public class Calc {
public float add(float a,float b){
return(a+b);
}
public float subtraction(float a,float b){
return(a-b);
}
public float multiplication(float a,float b){
return(a*b);
}
public float division(float a,float b){
return(a/b);
} public static void main(String[] args){
Calc calc=new Calc();
System.out.println("请输入两个数字");
Scanner scan=new Scanner(System.in);
float a = scan.nextFloat();
float b = scan.nextFloat();
float add=calc.add(a,b);
float Subtraction=calc.subtraction(a,b);
float Multiplication=calc.multiplication(a,b);
float Division = calc.division(a,b);
System.out.printf("%.2f+%.2f=%.2f",a,b,add);
System.out.printf("%.2f-%.2f=%.2f",a,b,Subtraction);
System.out.printf("%.2f*%.2f=%.2f",a,b,Multiplication);
System.out.printf("%.2f/%.2f=%.2f",a,b,Division);
}
}
第四题:输入数字n,计算小于等于该数字n的所有阶乘之和
import java.util.*; public class Main { public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入一个整数:");
int number = 0;
int jc=1;
int result=0;
if (scanner.hasNextInt()) {
number = scanner.nextInt();
System.out.println("您输入的数字是:" + number);
for(int i=1;i<=number;i++){
for(int j=1;j<=i;j++){
jc *=j;
} result=result+jc;
jc=1; }
System.out.printf("小于整数%d的所有正整数阶乘之和是:%d",number,result);
}
else{
System.out.println("您输入的字符不合法");
}
scanner.close();
}
}
第五题:打印100-10000之间的回文数,并计算个数:
public class HuiWenshu {
public static void main(String[] args){
int count=0,number_1=0,number_2=0;
for(int i =100;i<=10000;i++){
if(i>=100&&i<=1000){
String s=Integer.toString(i);
char c=s.charAt(0);
char b=s.charAt(2);
if(c==b){
System.out.println(i);
number_1=number_1+1;
}
}
else if(i>1000&&i<=10000){
String s=Integer.toString(i);
char first=s.charAt(0);
char second=s.charAt(1);
char third=s.charAt(2);
char fourth=s.charAt(3);
if(first==fourth){
if(second==third){
System.out.println(i);
number_2=number_2+1;
} } } } count=number_1+number_2;
System.out.printf("100-10000之间的回文数一共有%d个",count);
} }
java刷题(1-5)的更多相关文章
- JS、JAVA刷题和C刷题的一个很重要的区别
就是最近在做树方面的题时,发现JS和JAVA刷题和C刷题的一个很重要的区别就是传入null的区别 当遍历的时候,C传参数时可以传进去null的指针,因为递归进去,出来时,指针还是指着那个地方 但是JS ...
- 牛客网Java刷题知识点之为什么HashMap和HashSet区别
不多说,直接上干货! HashMap 和 HashSet的区别是Java面试中最常被问到的问题.如果没有涉及到Collection框架以及多线程的面试,可以说是不完整.而Collection框架的 ...
- 牛客网Java刷题知识点之为什么HashMap不支持线程的同步,不是线程安全的?如何实现HashMap的同步?
不多说,直接上干货! 这篇我是从整体出发去写的. 牛客网Java刷题知识点之Java 集合框架的构成.集合框架中的迭代器Iterator.集合框架中的集合接口Collection(List和Set). ...
- 牛客网Java刷题知识点之Map的两种取值方式keySet和entrySet、HashMap 、Hashtable、TreeMap、LinkedHashMap、ConcurrentHashMap 、WeakHashMap
不多说,直接上干货! 这篇我是从整体出发去写的. 牛客网Java刷题知识点之Java 集合框架的构成.集合框架中的迭代器Iterator.集合框架中的集合接口Collection(List和Set). ...
- 牛客网Java刷题知识点之ArrayList 、LinkedList 、Vector 的底层实现和区别
不多说,直接上干货! 这篇我是从整体出发去写的. 牛客网Java刷题知识点之Java 集合框架的构成.集合框架中的迭代器Iterator.集合框架中的集合接口Collection(List和Set). ...
- 牛客网Java刷题知识点之垃圾回收算法过程、哪些内存需要回收、被标记需要清除对象的自我救赎、对象将根据存活的时间被分为:年轻代、年老代(Old Generation)、永久代、垃圾回收器的分类
不多说,直接上干货! 首先,大家要搞清楚,java里的内存是怎么分配的.详细见 牛客网Java刷题知识点之内存的划分(寄存器.本地方法区.方法区.栈内存和堆内存) 哪些内存需要回收 其实,一般是对堆内 ...
- 牛客网Java刷题知识点之HashMap的实现原理、HashMap的存储结构、HashMap在JDK1.6、JDK1.7、JDK1.8之间的差异以及带来的性能影响
不多说,直接上干货! 福利 => 每天都推送 欢迎大家,关注微信扫码并加入我的4个微信公众号: 大数据躺过的坑 Java从入门到架构师 人工智能躺过的坑 ...
- 牛客网Java刷题知识点之UDP协议是否支持HTTP和HTTPS协议?为什么?TCP协议支持吗?
不多说,直接上干货! 福利 => 每天都推送 欢迎大家,关注微信扫码并加入我的4个微信公众号: 大数据躺过的坑 Java从入门到架构师 人工智能躺过的坑 ...
- 牛客网Java刷题知识点之TCP、UDP、TCP和UDP的区别、socket、TCP编程的客户端一般步骤、TCP编程的服务器端一般步骤、UDP编程的客户端一般步骤、UDP编程的服务器端一般步骤
福利 => 每天都推送 欢迎大家,关注微信扫码并加入我的4个微信公众号: 大数据躺过的坑 Java从入门到架构师 人工智能躺过的坑 Java全栈大联盟 ...
- 牛客网Java刷题知识点之Java 集合框架的构成、集合框架中的迭代器Iterator、集合框架中的集合接口Collection(List和Set)、集合框架中的Map集合
不多说,直接上干货! 集合框架中包含了大量集合接口.这些接口的实现类和操作它们的算法. 集合容器因为内部的数据结构不同,有多种具体容器. 不断的向上抽取,就形成了集合框架. Map是一次添加一对元素. ...
随机推荐
- 006一句话解决主机pc,Vmware虚拟机,开发板之间的ping问题
- 洛谷P1427 小鱼的数字游戏 题解 递归入门题
题目链接:https://www.luogu.com.cn/problem/P1427 题目大意: 给你一串数(输入到0为止),倒序输出这些数. 解题思路: 首先这道题目可以用数组存数据,然后输出. ...
- JAVA8学习——Stream底层的实现(学习过程)
Stream底层的实现 Stream接口实现了 BaseStream 接口,我们先来看看BaseStream的定义 BaseStream BaseStream是所有流的父类接口. 对JavaDoc做一 ...
- docker-网络驱动
网络驱动程序 Docker的网络子系统是可插拔的,使用驱动程序.默认情况下存在多个驱动程序,并提供核心网络功能: bridge:默认网络驱动程序.如果未指定驱动程序,则这是要创建的网络类型.当的应用程 ...
- [小技巧] Windows 命令行显示英文
在 Windows 里 " 运行" 使用 cmd 进行命令行, 如果是Windows 中文版的话,里面的命令输出是中文. 如果要显示英文的话,可以使用如下的命令: chcp 437 ...
- 7个效果震憾的HTML5应用组件
在HTML5的世界里,任何文本.图像都可以变得令人难以想象,很多HTML5应用也都已经随着浏览器的升级而变得运行飞速,而且兼容性也越来越好.下面为大家介绍7款效果震憾的HTML5应用组件,HTML5是 ...
- C语言之数组用法总结
一维数组的定义:1.数组的数据类型:每一元素占内存空间的字节数.2.数组的存储类型:内存的动态. 静态存储区或CPU的寄存器.3.一维数组在内存中占用的字节数为:数组长度X sizeof (基类型). ...
- JVM之堆的体系结构
一.堆的体系结构 Heap 堆一个JVM 实例只存在一个堆内存,堆内存的大小是可以调节的.类加载器读取了类字节码文件后,需要把类.方法.常量.变最放到堆内存中,保存所有引用类型的真实信息,以便执行器执 ...
- python——pickle模块的详解
pickle模块详解 该pickle模块实现了用于序列化和反序列化Python对象结构的二进制协议. “Pickling”是将Python对象层次结构转换为字节流的过程, “unpickling”是反 ...
- Epplus Excel 导入 MSSQL 数据库
效果: 下载EXE 源码