java面试
来源:互联网 发布:美国历年gdp数据 编辑:程序博客网 时间:2024/05/16 19:09
--1到20组成的20的数种数
public class Sum20 {
public static void count(int value,String str,int sum){
if (value==sum){
System.out.println("[ " + str +value + "]=20");
}else if (sum - value >0){
sum -= value;
str = str + value+",";
if (sum>value){
for (int j = value+1; j <=20 ; j++) {
count(j,str,sum);
}
}
}
}
public static void main(String[] args) {
for (int i = 1; i <= 20; i++) {
count(i,"",20);
}
}
}
--把一个字符串里除了大小写字母以外的所有东西都去掉,然后都变成小写,之后按从a到z的顺序排序
public class SortLambda {
public static List getString(String str){
ArrayList list = new ArrayList();
for (int i = 0; i < str.length(); i++) {
if (str.charAt(i)>=97 && str.charAt(i)<=122){
list.add(str.charAt(i));
}else if (str.charAt(i)>=65 && str.charAt(i)<=90){
list.add((char)(str.charAt(i)+32));
}
}
return list;
}
public static String sort(List list){
list.sort((o1,o2)->(char)o1-(char)o2);
StringBuilder strBuilder = new StringBuilder();
for (int i = 0; i < list.size(); i++) {
strBuilder.append(list.get(i));
}
return strBuilder.toString();
}
public static void main(String[] args) {
String str = "sdaASH%iAGA rG$vAG;o3#yrqi br@lAHks813tgpHre iyt12qtgf";
System.out.println(sort(getString(str)));
}
}
public class SortStr {
public static String getString(String str){
StringBuilder strBuilder = new StringBuilder();
for (int i = 0; i < str.length(); i++) {
if (str.charAt(i)>=97 && str.charAt(i)<=122){
strBuilder.append(str.charAt(i));
}else if (str.charAt(i)>=65 && str.charAt(i)<=90){
strBuilder.append((char)(str.charAt(i)+32));
}
}
return strBuilder.toString();
}
public static String sort(String str){
int flag;
char[] chars = new char[str.length()];
for (int i = 0; i < str.length(); i++) {
chars[i]=(char)str.charAt(i);
}
for (int i = 0; i < chars.length-1; i++) {
flag = 0;
for (int j = chars.length-1; j > i ; j--) {
if (chars[j]<chars[j-1]){
char x = chars[j];
chars[j] = chars[j-1];
chars[j-1] = x;
flag = 1;
}
}
if (flag == 0) {break;}
}
StringBuilder strBuilder = new StringBuilder();
for (int i = 0; i < chars.length; i++) {
strBuilder.append(chars[i]);
}
return strBuilder.toString();
}
public static void main(String[] args) {
String str = "sdaASH%iAGA rG$vAG;o3#yrqi br@lAHks813tgpHre iyt12qtgf";
System.out.println(sort(getString(str)));
}
}
package com.linyi;
public class Dinning {
public static void main(String[] args) {
KuaiZi k1 = new KuaiZi("筷子一号");
KuaiZi k2 = new KuaiZi("筷子二号");
KuaiZi k3 = new KuaiZi("筷子三号");
Philosopher p1 = new Philosopher("农民", k1, k2);
Philosopher p2 = new Philosopher("工程师", k2, k3);
Philosopher p3 = new Philosopher("哲学家", k3, k1);
p1.start();
p2.start();
p3.start();
}
}
// 筷子类
class KuaiZi {
String name;
boolean Enable = true;// 构造方法
public KuaiZi(String name) {
this.name = name;
}
// 放下筷子
public synchronized void putdown() {
this.Enable = true;
}
// 去取筷子
public synchronized boolean pickup() { // 如果取到筷子了,就返回true,否则返回false
if (this.Enable) // 筷子空闲
{
this.Enable = false; // 取到筷子
return true;
}
return false;
}
}
// 哲学家类:
class Philosopher extends Thread {
String name;
KuaiZi left;
KuaiZi right;
public Philosopher(String name, KuaiZi l, KuaiZi r) {
this.name = name;
left = l;
right = r;
}
public void run() {// 吃饭前的思考,时间是随机的
try {
System.out.println(name + "在思考中。。。");
Thread.sleep((long) (Math.random()));// 思考时间
System.out.println(name + "思考结束!");
} catch (InterruptedException e) {
e.printStackTrace();
}
while (true)// 一直处于等待那筷子状态,如果2只手都拿到了就进餐,否则一直等待
{
boolean leftflag = left.pickup();// 左手拿筷子
while (!leftflag) // 没有拿到就等待一段时间再拿
{
try {
sleep(10);
} catch (Exception ex) {
}
leftflag = left.pickup();
}
System.out.println(name + "抓起" + left.name);
boolean rightflag = right.pickup();// 右手开始拿筷子
if (rightflag)// 拿到了,不在等待,开始吃
{
System.out.println(name + "抓起" + right.name);
break;
} else// 没拿到,把左手已经拿到的筷子放下继续等待
{
System.out.println(name + "没有拿到" + right.name);
left.putdown();
System.out.println(name + "放下" + left.name + "继续等待...");
try {
sleep(10);
} catch (Exception ex) {
}
}
}
System.out.println(name + "拿到两支筷子开吃");
try {
Thread.sleep(1);// 吃饭时间
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println(name + "吃饱之后放下了" + left.name + "和" + right.name
+ "!");
left.putdown();
right.putdown();
}
}
public class Sum20 {
public static void count(int value,String str,int sum){
if (value==sum){
System.out.println("[ " + str +value + "]=20");
}else if (sum - value >0){
sum -= value;
str = str + value+",";
if (sum>value){
for (int j = value+1; j <=20 ; j++) {
count(j,str,sum);
}
}
}
}
public static void main(String[] args) {
for (int i = 1; i <= 20; i++) {
count(i,"",20);
}
}
}
--把一个字符串里除了大小写字母以外的所有东西都去掉,然后都变成小写,之后按从a到z的顺序排序
public class SortLambda {
public static List getString(String str){
ArrayList list = new ArrayList();
for (int i = 0; i < str.length(); i++) {
if (str.charAt(i)>=97 && str.charAt(i)<=122){
list.add(str.charAt(i));
}else if (str.charAt(i)>=65 && str.charAt(i)<=90){
list.add((char)(str.charAt(i)+32));
}
}
return list;
}
public static String sort(List list){
list.sort((o1,o2)->(char)o1-(char)o2);
StringBuilder strBuilder = new StringBuilder();
for (int i = 0; i < list.size(); i++) {
strBuilder.append(list.get(i));
}
return strBuilder.toString();
}
public static void main(String[] args) {
String str = "sdaASH%iAGA rG$vAG;o3#yrqi br@lAHks813tgpHre iyt12qtgf";
System.out.println(sort(getString(str)));
}
}
public class SortStr {
public static String getString(String str){
StringBuilder strBuilder = new StringBuilder();
for (int i = 0; i < str.length(); i++) {
if (str.charAt(i)>=97 && str.charAt(i)<=122){
strBuilder.append(str.charAt(i));
}else if (str.charAt(i)>=65 && str.charAt(i)<=90){
strBuilder.append((char)(str.charAt(i)+32));
}
}
return strBuilder.toString();
}
public static String sort(String str){
int flag;
char[] chars = new char[str.length()];
for (int i = 0; i < str.length(); i++) {
chars[i]=(char)str.charAt(i);
}
for (int i = 0; i < chars.length-1; i++) {
flag = 0;
for (int j = chars.length-1; j > i ; j--) {
if (chars[j]<chars[j-1]){
char x = chars[j];
chars[j] = chars[j-1];
chars[j-1] = x;
flag = 1;
}
}
if (flag == 0) {break;}
}
StringBuilder strBuilder = new StringBuilder();
for (int i = 0; i < chars.length; i++) {
strBuilder.append(chars[i]);
}
return strBuilder.toString();
}
public static void main(String[] args) {
String str = "sdaASH%iAGA rG$vAG;o3#yrqi br@lAHks813tgpHre iyt12qtgf";
System.out.println(sort(getString(str)));
}
}
package com.linyi;
public class Dinning {
public static void main(String[] args) {
KuaiZi k1 = new KuaiZi("筷子一号");
KuaiZi k2 = new KuaiZi("筷子二号");
KuaiZi k3 = new KuaiZi("筷子三号");
Philosopher p1 = new Philosopher("农民", k1, k2);
Philosopher p2 = new Philosopher("工程师", k2, k3);
Philosopher p3 = new Philosopher("哲学家", k3, k1);
p1.start();
p2.start();
p3.start();
}
}
// 筷子类
class KuaiZi {
String name;
boolean Enable = true;// 构造方法
public KuaiZi(String name) {
this.name = name;
}
// 放下筷子
public synchronized void putdown() {
this.Enable = true;
}
// 去取筷子
public synchronized boolean pickup() { // 如果取到筷子了,就返回true,否则返回false
if (this.Enable) // 筷子空闲
{
this.Enable = false; // 取到筷子
return true;
}
return false;
}
}
// 哲学家类:
class Philosopher extends Thread {
String name;
KuaiZi left;
KuaiZi right;
public Philosopher(String name, KuaiZi l, KuaiZi r) {
this.name = name;
left = l;
right = r;
}
public void run() {// 吃饭前的思考,时间是随机的
try {
System.out.println(name + "在思考中。。。");
Thread.sleep((long) (Math.random()));// 思考时间
System.out.println(name + "思考结束!");
} catch (InterruptedException e) {
e.printStackTrace();
}
while (true)// 一直处于等待那筷子状态,如果2只手都拿到了就进餐,否则一直等待
{
boolean leftflag = left.pickup();// 左手拿筷子
while (!leftflag) // 没有拿到就等待一段时间再拿
{
try {
sleep(10);
} catch (Exception ex) {
}
leftflag = left.pickup();
}
System.out.println(name + "抓起" + left.name);
boolean rightflag = right.pickup();// 右手开始拿筷子
if (rightflag)// 拿到了,不在等待,开始吃
{
System.out.println(name + "抓起" + right.name);
break;
} else// 没拿到,把左手已经拿到的筷子放下继续等待
{
System.out.println(name + "没有拿到" + right.name);
left.putdown();
System.out.println(name + "放下" + left.name + "继续等待...");
try {
sleep(10);
} catch (Exception ex) {
}
}
}
System.out.println(name + "拿到两支筷子开吃");
try {
Thread.sleep(1);// 吃饭时间
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println(name + "吃饱之后放下了" + left.name + "和" + right.name
+ "!");
left.putdown();
right.putdown();
}
}
阅读全文
0 0
- [JAVA面试] java面试
- java 面试
- java 面试
- java 面试
- Java 面试
- Java 面试
- java面试
- java面试
- java 面试
- java面试
- java面试
- java面试
- java面试
- JAVA面试
- Java面试
- Java面试
- java面试
- java面试
- Linux下逻辑地址-线性地址-物理地址图解(转)
- 【NOIP2017模拟6.25】小W的动漫
- 李彦宏的24门客:离开百度,野蛮生长
- POJ 2406 Power Strings 笔记
- 设计模式之创建型模式
- java面试
- leetCode--- Is Subsequence
- LeetCode: Number of Islands
- 关于使用nat123软件实现外网访问内网的部署在Tomcat服务器中的Java Web项目
- Android仿头条频道管理
- FastMaskRCNN算法TensorFlow配置,训练
- Vector用法 C++: B开头函数
- 设计模式之工厂方法模式
- VS2008添加头文件和库路径