81.去除数组中的0。
import
java.util.Scanner;
public class FeiLing {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.println(“输入数组的长度:”);
int n=sc.nextInt();
System.out.println(“输入数组:”);
int [] a=new int[n];
for(int i=0;i<n;i++) {
a[i]=sc.nextInt();
}
QuLing(a);
}
public static void QuLing(int [] a) {
int ze=0;
for(int i=0;i<a.length;i++) {
if(a[i]==0) {
ze++;
}
}
int [] arr=new int[a.length-ze];
int j=0;
for(int i=0;i<a.length;i++) {
if(a[i]!=0) {
arr[j]=a[i];
j++;
}
}
System.out.println(“新数组为:”);
for(int i=0;i<arr.length;i++) {
System.out.print(arr[i]+" ");
}
}
}
- 一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法。
import
java.util.Scanner;
public class QingWa {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.println(“一共有多少个台阶:”);
int n=sc.nextInt();
System.out.println(“一共有”+f(n)+“种跳法”);
}
public static int f(int n) {
if(n<=1) {
return 1;
}
return f(n-1)+f(n-2);
}
}
- 反转单链表。例如链表为:1->2->3->4。反转后为 4->3->2->1
public static Node reverseList2(Node head){
// 1.递归结束条件
if (head == null || head.next == null) {
return head;
}
// 递归反转 子链表
Node newList = reverseList2(head.next);
// 改变 1,2节点的指向。 // 通过 head.next获取节点2
Node t1 = head.next;
// 让 2 的 next 指向 2
t1.next = head;
// 1 的 next 指向 null.
head.next = null; // 把调整之后的链表返回。
return newList;
}
- 编写一个程序实现字符串大小写的转换并倒序输出
import
java.util.Scanner;
public class DaXiao {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.println(“输入一个字符串”);
String s=sc.nextLine();
char[] chs=s.toCharArray();
StringBuffer sb=new
StringBuffer();
for(int i=s.length()-1;i>=0;i–) {
if(chs[i]>=‘a’&&chs[i]<=‘z’) {
sb.append(String.valueOf(chs[i]).toUpperCase());
}else if(chs[i]>=‘A’&&chs[i]<=‘Z’) {
sb.append(String.valueOf(chs[i]).toLowerCase());
}else {
sb.append(String.valueOf(chs[i]));
}
}
System.out.println(sb.toString());
}
}
- 给定一个数组,求是否存在数组里的两个元素相加等于目标数并求出下标
import java.util.Scanner;
public class twoSum {
public static void main(String[] args) {
Scanner
sc=new Scanner(System.in);
System.out.println(“请输入数组的长度:”);
int n=sc.nextInt();
int [] a=new int[n];
System.out.println(“输入数组:”);
for(int i=0;i<n;i++) {
a[i]=sc.nextInt();
}
System.out.println(“目标数:”);
int m=sc.nextInt();
sum(a,m);
}
public static void sum(int[] a,int m) {
boolean flag=true;
for(int i=0;i<a.length-1;i++) {
for(int j=i+1;j<a.length;j++) {
if(a[i]+a[j]==m) {
flag=true;
System.out.println(a[i]+"+"+a[j]+"="+m);
System.out.println(“第一个下标为:”+i+“第二个下标为:”+j);
}else {
flag=false;
}
}
}
if(!flag) {
System.out.println(“无”);
}
}
}