华为机试1-10 Java实现
来源:互联网 发布:穿越火线刷装备软件 编辑:程序博客网 时间:2024/05/12 14:35
题目描述:字符串最后一个单词的长度
计算字符串最后一个单词的长度,单词以空格隔开。
输入描述:
一行字符串,非空,长度小于5000。
输出描述:
整数N,最后一个单词的长度。
输入例子:
hello world
输出例子:
5
import java.util.Scanner;public class Main{ public static void main(String[] args){ int count = 0; Scanner input = new Scanner(System.in); String str = input.nextLine(); String chr = input.nextLine(); for(int i = 0; i < str.length();i++){ if (chr.toLowerCase().charAt(0) == str.toLowerCase().charAt(i)) count++; } System.out.println(count); }}
题目描述:计算字符个数
计算字符串最后一个单词的长度,单词以空格隔开。
输入描述:
一行字符串,非空,长度小于5000。
输出描述:
整数N,最后一个单词的长度。
输入例子:
hello world
输出例子:
5
import java.util.Scanner;public class Main{ public static void main(String[] args){ int count = 0; Scanner input = new Scanner(System.in); String str = input.nextLine(); for(int i = str.length() - 1; i >= 0; i--){ if (str.charAt(i) == ' ') break; ++count; } System.out.println(count); }}
或
import java.util.Scanner;public class Main{ public static void main(String[] args){ Scanner sc = new Scanner(System.in); String str = sc.nextLine(); String[] strArray = str.split("\\s"); int size = strArray.length; System.out.println(strArray[size-1].length()); }}
题目描述:明明的随机数
明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了N个1到1000之间的随机整数(N≤1000),对于其中重复的数字,只保留一个,把其余相同的数去掉,不同的数对应着不同的学生的学号。然后再把这些数从小到大排序,按照排好的顺序去找同学做调查。请你协助明明完成“去重”与“排序”的工作。
Input Param
n 输入随机数的个数
inputArray n个随机整数组成的数组
Return Value
OutputArray 输出处理后的随机整数
import java.util.*;public class Main{ public static void main(String[] args){ Scanner input = new Scanner(System.in); while(input.hasNextInt()){ Set<Integer> set = new HashSet<>(); int n = input.nextInt(); for(int i = 0; i < n; i++){ set.add(input.nextInt()); } List<Integer> list = new ArrayList<>(); list.addAll(set); Collections.sort(list); for(int i : list){ System.out.println(i); } } }}
题目描述:字符串分隔
•连续输入字符串,请按长度为8拆分每个字符串后输出到新的字符串数组;
•长度不是8整数倍的字符串请在后面补数字0,空字符串不处理。
输入描述:
连续输入字符串(输入2次,每个字符串长度小于100)
输出描述:
输出到长度为8的新字符串数组
输入例子:
abc
123456789
输出例子:
abc00000
12345678
90000000
import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); while(sc.hasNext()){ String s = sc.nextLine(); StringBuffer sb = new StringBuffer(s); if(s.length() % 8 != 0){ int n = 8 - s.length() % 8; for(int i = 0; i < n; i++){ sb.append("0"); } } for(int i = 0; i < sb.length() / 8; i++){ System.out.println(sb.substring(8 * i, 8 * i + 8)); } } }}
题目描述:【进制转换】
写出一个程序,接受一个十六进制的数值字符串,输出该数值的十进制字符串。(多组同时输入 )
输入描述:
输入一个十六进制的数值字符串。
输出描述:
输出该数值的十进制字符串。
输入例子:0xA
输出例子:
10
import java.util.*;public class Main{ public static void main(String[] args){ Scanner sc = new Scanner(System.in); while(sc.hasNext()){ int value = 0; String str = sc.nextLine(); for(int i = str.length() - 1; i >=2; i--){ int digit = digitToValue(str.charAt(i)); int exp = str.length() - i - 1; value += digit * Math.pow(16, exp); } System.out.println(value); } } public static int digitToValue(char c){ if(c >= '0' && c <= '9') return c - '0'; else if(c >= 'A' && c <= 'Z') return c - 'A' + 10; else if(c >= 'a' && c <= 'z') return c - 'a' + 10; return -1; }}
题目描述:质数因子【不好理解】
功能:输入一个正整数,按照从小到大的顺序输出它的所有质数的因子(如180的质数因子为2 2 3 3 5 )
最后一个数后面也要有空格
详细描述:
函数接口说明:
public String getResult(long ulDataInput)
输入参数:
long ulDataInput:输入的正整数
返回值:
String
输入描述:
输入一个long型整数
输出描述:
按照从小到大的顺序输出它的所有质数的因子,以空格隔开。最后一个数后面也要有空格。
输入例子:180
输出例子:
2 2 3 3 5
import java.util.*;// 问题的意思,其实就是让你把输入的整数因式分解,只不过因子必须都是质数// 例如:180 = 2 * 2 * 3 * 3 * 5;90 = 2 * 3 * 3 * 5;而不是找出所有的质数因子public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); while (sc.hasNext()) { long input = sc.nextLong(); getResult(input); } } public static void getResult(long ulDataInput){ while(ulDataInput != 1){ for(int i = 2; i <= ulDataInput; i++){ if(ulDataInput % i == 0){ ulDataInput /= i; System.out.print(i + " "); break; } } } }}
题目描述:取近似值
写出一个程序,接受一个正浮点数值,输出该数值的近似整数值。如果小数点后数值大于等于5,向上取整;小于5,则向下取整。
输入描述:
输入一个正浮点数值
输出描述:
输出该数值的近似整数值
输入例子:5.5
输出例子:
6
import java.util.*;public class Main{ public static void main(String[] args){ Scanner sc = new Scanner(System.in); while(sc.hasNext()){ float f = sc.nextFloat(); if(f > 0){ System.out.println(Math.round(f)); } } }}
题目描述:提取不重复的整数
输入一个int型整数,按照从右向左的阅读顺序,返回一个不含重复数字的新的整数。
输入描述:
输入一个int型整数
输出描述:
按照从右向左的阅读顺序,返回一个不含重复数字的新的整数
输入例子:9876673
输出例子:
37689
import java.util.*;public class Main{ public static void main(String[] args){ Set<Integer> set = new LinkedHashSet<>(); Scanner sc = new Scanner(System.in); while(sc.hasNext()){ int num = sc.nextInt(); while(num != 0){ set.add(num % 10); num /= 10; } } Iterator it = set.iterator(); while(it.hasNext()){ Integer i = (Integer)it.next(); System.out.print(i); } }}
【注】使用LinkedHashSet 保证数据唯一,不加入后面的重复数据,保证了出现顺序。
如果直接使用HashSet,虽然保证了数据的唯一性,但是进行了排序。(X)
题目描述:数字颠倒
描述:
输入一个整数,将这个整数以字符串的形式逆序输出
程序不考虑负数的情况,若数字含有0,则逆序形式也含有0,如输入为100,则输出为001
输入描述:
输入一个int整数
输出描述:
将这个整数以字符串的形式逆序输出
输入例子:1516000
输出例子:
0006151
import java.util.*;public class Main{ public static void main(String[] args){ Scanner sc = new Scanner(System.in); while(sc.hasNext()){ int input = sc.nextInt(); while(input != 0){ System.out.print(input % 10); input /= 10; } } }}
或
import java.util.*;public class Main{ public static void main(String[] args){ Scanner sc = new Scanner(System.in); while(sc.hasNext()){ StringBuilder sb = new StringBuilder(sc.nextLine()); System.out.println(sb.reverse().toString()); } }}
题目描述:字符串反转
写出一个程序,接受一个字符串,然后输出该字符串反转后的字符串。例如:
输入描述:
输入N个字符
输出描述:
输出该字符串反转后的字符串
输入例子:
abcd
输出例子:
dcba
import java.util.*;public class Main{ public static void main(String[] args){ Scanner sc = new Scanner(System.in); while(sc.hasNext()){ StringBuilder sb = new StringBuilder(sc.nextLine()); System.out.println(sb.reverse().toString()); } }}
- 华为机试1-10 Java实现
- 网上20132014华为机试的相关java实现(1)
- 华为机试准备--练习题(JAVA实现)
- 华为机试准备--练习(JAVA实现)
- 华为机试--Java
- 华为机试练习---java实现电话号码本
- 网上20132014华为机试的相关java实现(2)
- 网上20132014华为机试的相关java实现(3)
- 华为2014机试样题1: 计票统计 java实现
- 华为机考2015(1)JAVA实现
- 华为机试1
- 华为机试三道题(Java实现)
- 华为机试电话号码翻译C++实现
- 华为2013机试题 大数相减JAVA实现
- 2015华为招聘机试样题(java实现)
- 华为机试题2014 字符串过滤程序 java实现
- 2015届华为校园招聘机试题 java实现
- 2015届华为校园招聘机试题 java实现(2)
- 获取当前目录
- 设计模式之策略模式
- 如何修改myeclipse的内存?eclipse.ini中各个参数的作用
- 垂直居中
- Python 3: ImportError “No Module named Setuptools”
- 华为机试1-10 Java实现
- 希尔排序
- 隐性改变display类型
- Atitit 提升效率 界面gui方面的前后端分离与cbb体系建设 规范推荐标准
- 博客网站(2)-创建应用及第一个响应
- 蓝桥杯比赛javaB组练习《饮料换购》
- document.forms用法示例介绍
- 不要修改dtsi,修改自己板子的dts,通过 &label 语句修改子文件里已经存在的节点
- 原生、混合、react-native应用对比分析