1. 字符串截取,输入为一个字符串和一个数字,但是如果遇到汉字不能只截取半个汉字。
package cn.lifx.test;
public class GetNBitChar
{
public static void main(String[] args)
{
String str1 = "中abc国人def伟大";
GetNBitChar test = new GetNBitChar();
String str2 = test.getStr(str1, 1);
System.out.println(str2);
str2 = test.getStr(str1, 4);
System.out.println(str2);
str2 = test.getStr(str1, 6);
System.out.println(str2);
str2 = test.getStr(str1, 8);
System.out.println(str2);
str2 = test.getChineseChars(str1);
System.out.println(str2);
}
//获取前n个字节
public String getStr(String str, int n)
{
String temp = "";
int count = 0;
int index = 1;
while(count < n)
{
if(str.substring(index-1, index).getBytes().length == 1)
{
count++;
}
else
{
count = count + 2;
}
index++;
}
temp = str.substring(0, index-1);
return temp;
}
//获得所有汉字
public String getChineseChars(String str)
{
String temp = "";
StringBuffer sb = new StringBuffer();
for(int i=1; i<=str.length(); i++)
{
temp = str.substring(i-1, i);
if(temp.getBytes().length == 2)
{
sb.append(temp);
}
}
return sb.toString();
}
}
2. 一个数组有2n个整数,其中有n个奇数,n个偶数,要求把奇数放在奇数位置,偶数放在偶数位置。
package cn.lifx.test;
public class SortOddAndEvenNum
{
public static void main(String[] args)
{
int[] arr = {2, 3, 4, 6, 8, 5, 7, 9};
SortOddAndEvenNum sort = new SortOddAndEvenNum();
sort.Display(arr, "Before:");
sort.Sort(arr);
sort.Display(arr, "After:");
}
public void Sort(int[] arr)
{
int index1 = 0;
int index2 = 1;
int temp = 0;
int n = arr.length;
while(index1 < n && index2 < n)
{
while(arr[index1] % 2 != 0)
{
index1 += 2;
}
while(arr[index2] % 2 == 0)
{
index2 += 2;
}
temp = arr[index1];
arr[index1] = arr[index2];
arr[index2] = temp;
index1 += 2;
index2 += 2;
}
}
public void Display(int[] arr, String str)
{
System.out.println(str);
for(int i=0; i<arr.length; i++)
{
System.out.print(arr[i] + " ");
}
System.out.println();
}
}
分享到:
相关推荐
几道算法选择题几道算法选择题几道算法选择题几道算法选择题几道算法选择题几道算法选择题几道算法选择题
经典面试算法题N道,经典面试算法题N道,经典面试算法题N道,经典面试算法题N道
100道入门级算法题~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
这是网上关于Java的50道算法程序题的代码,有需要的可以下载参考
华为的两道算法笔试题及答案,自己已经用C语言调试通过
C语言100道逻辑经典算法题,都是一些基础的语法,如for等基本语法,做完了这100道题可以让你更深刻的理解这些语法
C语言100道经典算法题
大厂算法面试题库中,高频出现的30道典型题
兔子繁殖 半段质数 水仙花数 最大公约数 最小公倍数 数字排序等经典的编程问题
Java32道算法题,有答案可以运行int i=0; for(i=1;i;i++) System.out.println(f(i)); { if(x==1 || x==2) return 1; else return f(x-1)+f(x-2);
java的2道算法题,笔试面试题。有需要的可以看看
76经典道算法题及解答(欢迎下载我的其他资源)
26道算法笔试题,包含常用的算法的过程,流程,精简易用。
scratch10道算法题及答案
JAVA经典算法30题JAVA经典算法30题JAVA经典算法30题JAVA经典算法30题
资料总结了苏州大学2005-2019年的所有考研专业课算法题,共40多道,想考苏大的会很有帮助,苏大计算机专业课是要考3道算法题,因此算法不可轻视
js所有的算法,自己总结的,如有遗漏,请留言。希望可以帮助到需要的人
程序员面试时经常会有结构算法题,这22道数据结构算法题各有特点,会有所帮助
大厂算法面试题,高频出现的30题,面试绝对有用。如果你刷leetcode题目很多,为了面试不如看看高频题,这30到够用了,经常会被笔试到,资料很好。