阿发 Java 题库

目录

1、判断是否为质数

2、打印倒三角

3、图案

4、个十百千万

5、质数

6、随机数(未填)

7、链表的遍历


1、判断是否为质数

package my;
public class 测试 {
	public static void main(String[] args) {
		boolean isprime = true;
		int n = 7;
		int sub=0;
		for (int i = 2; i < n; i++) {
			if (n % i == 0) {
				isprime = false;
				sub = i;
				break;//已经得到结果,退出循环
//y[j]=i;j++ 用数组得到所有因子
			}
		}
		if (isprime) {
			System.out.println("是质数");
		} else
			System.out.println("非质数,有因子" + sub);
	}
}

2、打印倒三角

public static void main(String[] args) {
	int N = 5;
	for (int i = 0; i < N; i++) {
	    for (int k = 0; k < N - i; k++)
		System.out.print("*");
	    System.out.println();
	}
}

3、图案

public static void main(String[] args) {
    int N = 5;
    for (int i=0; i<N; i++) {
    for (int k=0; k <N; k++)
    {
	if(k==i || k==N-i-1)//仔细判断慢慢调,一下子是想不出来的
	    System.out.print("*");
	else
	    System.out.print(" ");
    }
    System.out.println();	
}
	

4、个十百千万

任意给定一个正整数 (1~10000) 之间。 将它的各位数字解析出来单独显示。

例如, (按从低位到高位的顺序打印出来)

给定 n=9527,则打印输出 7-2-5-9 

int n = 9527; // 给定一个数
while( true )
{
    int a = n % 10;
    System.out.print(a);
    n /= 10;  // 除10
    if( n== 0) 
    {
        break; // 除完了,退出循环  
    }
    System.out.print("-"); // 附加一个横杠				
}

5、质数

求出所有1000以内的质数,并存到数组里。

int[] result = new int[50]; // 最多存50个 int count = 0; 即,把找到的质数存到数组 result 里,count表示实际存入的个数 

public static void main(String[] args) {
    int result[]=new int[50];
    int count=0;
    //boolean isprime=true;
    for(int i=0;i<=1000;i++)
    { 	boolean isprime=true;
	for(int k=2;k<i;k++)
	{
	    if(i%k==0)
	    {
		isprime=false;
		break;
	    }                      
	}
	    if(isprime)
	    {
		result[count]=i;
		count++;
		if(count>=result.length)
		break;
	    }
    }
	for( int j=0;j<=count;j++)
	{
	    System.out.println(result[j]+"  ");
	}

6、随机数(未填)

公司有96人,在年会活动上抽奖。要求写一个程序,抽出3等奖。

7、链表的遍历

public class 测试 {
public static void main(String[] args) {
	monkey a=new monkey("嘻嘻",1);
	monkey b=new monkey("哈哈",2);
	monkey c=new monkey("啊啊",3);
	a.next=b;
	b.next=c;
	c.next=null;
//插入到尾节点
	monkey d=new monkey("宝贝",4);
	monkey tail;
	for(tail=a;tail.next!=null;)
	{tail=tail.next;
        }
	tail.next=d;
//插入到头结点之后
        monkey e=new monkey("出错",5);
	monkey head=a;
	e.next=head.next;
	head.next=e;
//插入到指定节点后
        monkey f=new monkey("订单",6);
	monkey node1;
	for(node1=a;node1.nu!=2;)
	{node1=node1.next;
        }
	f.next=node1.next;
	node1.next=f;

//链表的遍历
	monkey node=a;
	while(node!=null){
	    System.out.println("链表中的节点:"+node);
	    node=node.next;
	}
	    System.out.println("exit");
	}
}
class monkey {
	String name;
	int nu;
	monkey next;
	monkey(String name, int nu) {
		this.name=name;
		this.nu=nu;
	}
	@Override
	public String toString() {
		return String.format("姓名: %s,编号: %d",name,nu);
	}
}

8、有头链表的遍历

	monkey head=new monkey("头结点",0);//创建头结点
	head.next=a;
//插入到头(假)节点之后-头插法
	monkey d=new monkey("订单",4);
	d.next=head.next;
	head.next=d;
//插入到指定节点(同无头结点)-尾插法
    //<一>
	monkey e=new monkey("嗯嗯",5);
	monkey q;
	for(q=head.next;q.next!=null;)
	{
	    q=q.next;
	}
	q.next=e;
   //<二>
	monkey f=new monkey("方法",6);
	monkey j=head.next;
	while(j.next!=null)
	{
	    j=j.next;
	}
	j.next=f;
//删除指定节点(包括尾节点)
	monkey i=head.next;
	monkey v=head;
	while(i!=null)//非i.next!=null
	{
		if(i.nu==6)
		{
			v.next=i.next;
			break;//跳出本层循环
		}
		v=i;
		i=i.next;
	}		
//有头链表的遍历
	monkey p=head.next;//遍历时跳过头结点
	System.out.println("有头链表的遍历");
	for(;p!=null;)//非p.next!=null
	{
	    System.out.print(p);
	    p=p.next;
	}

9、容器monkeylist

package my;

public class 测试 {
	public static void main(String[] args) {
		monkeylist monlis = new monkeylist();
		monkey a = new monkey("aa", 01);
		monkey b = new monkey("bb", 02);
		monkey c = new monkey("cc", 02);
		monlis.add1(a);
		monlis.add1(b);
		monlis.add1(c);
		monlis.get(01);
		monlis.showall();
	}
}
class monkey {
	String name;
	int nu;
	monkey next;
	monkey(String name, int nu) {
		this.name = name;
		this.nu = nu;
	}
	@Override
	public String toString() {
		return String.format("姓名:%s,  编号:%d\n", name, nu);
	}
}
class monkeylist {
	private monkey head = new monkey("石猴", 00);
// 添加一个对象(头插法)
	public void add(monkey m) {
		m.next = head.next;
		head.next = m;
	}
// 尾插法
	public void add1(monkey m) {
		monkey p;
		for (p = head; p.next != null;) {// p=head而非p=head.next
			p = p.next;
		}
		p.next = m;
	}
// 按编号查询对象
	void get(int id) {
		monkey p;
		for (p = head.next; p != null;) {
			if (p.nu == id) {
				System.out.println(p);// p.toString()?????
			}
			p = p.next;
		}
		return;
	}

// 打印输出所有的对象
	void showall() {
		monkey p;
		for (p = head.next; p != null;) {
			System.out.println(p.toString());
			p = p.next;
		}
	}

}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值