目录
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;
}
}
}