您的位置:首页 > 编程语言 > Java开发

第二周java作业--2017.09.06

2017-09-06 21:38 453 查看
第一题:摄氏度跟华氏摄氏度的转换问题:

package week2;

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

import javax.naming.ldap.SortControl;

/**
* 华氏温度与摄氏温度间的转换问题
* @author Lenovo_PC
*/
public class Test01 {

public static void main(String[] args) {
// TODO Auto-generated method stub
choose();
}

private static void choose() {
// TODO Auto-generated method stub
System.out.println("请选择方式");
System.out.println("1.正序表");
System.out.println("2.倒序表");
System.out.println("3.自定义");
System.out.println("4.退出");
Scanner input = new Scanner(System.in);
int number = 0;
number = input.nextInt();
switch (number) {
case 1:
Sort(1);
break;
case 2:
Sort(2);
break;
case 3:
Personal();
break;
case 4:
System.exit(0);
break;
default:
System.out.println("请输入正确的编号");
break;
}
}

private static void Personal() {
// TODO Auto-generated method stub
System.out.println("请输入需要转换的度数");
Scanner input = new Scanner(System.in);
int number = 0;
number = input.nextInt();
float result = 5 / 9.0f * (number - 32);
System.out.printf("%.1f\n",result);
choose();
}

private static void Sort(int i) {
// TODO Auto-generated method stub
int[] pre = {0,20,40,60,80,100,120,140,160,180,200,220,240,260,280,300};
List<Float> list = new ArrayList<Float>();
float result;
for (int j = 0; j < pre.length; j++) {
result = 5 / 9.0f * (pre[j] - 32);
list.add(result);
}
if (i==1) {
for (int j = 0; j < pre.length; j++) {
System.out.printf(pre[j]+"\t");
System.out.printf("%.1f\n",list.get(j));
}
}else {
for (int j = pre.length-1; j >= 0; j--) {
System.out.printf(pre[j]+"\t");
System.out.printf("%.1f\n",list.get(j));
}
}
choose();
}

}




OC:(部分主要代码)

//
//  ChangeDemo.m
//  lesson1
//
//  Created by Zb_tjw on 2017/10/8.
//  Copyright © 2017年 Zb_tjw. All rights reserved.
//

#import "ChangeDemo.h"

@implementation ChangeDemo

-(void) choose{
NSLog(@"请选择方式:");
NSLog(@"1.正序表:");
NSLog(@"2.倒序表:");
NSLog(@"3.自定义:");
NSLog(@"4.退出:");

//    char *cstring = malloc(sizeof(char) * 2);
//    scanf("%s", cstring);
//    NSString *string = [NSString stringWithUTF8String:cstring];
int number = 0;
scanf("%d",&number);

switch (number) {
case 1:
[self Sort:1];
break;
case 2:
[self Sort:2];
break;
case 3:
[self Personal];
break;
case 4:
exit(0);
break;
default:
NSLog(@"请输入正确的编号");
break;
}
}

-(void) Sort:(int)i{
// TODO Auto-generated method stub
int pre[] = {0,20,40,60,80,100,120,140,160,180,200,220,240,260,280,300};
float after[16];
float result;
for (int j = 0; j < 16; j++) {
result = 5 / 9.0f * (pre[j] - 32);
aft
dc3b
er[j] = result;
}
if (i==1) {
for (int j = 0; j < 16; j++) {
NSLog(@"%d  %f",pre[j],after[j]);
}
}else {
for (int j = 15; j >= 0; j--) {
NSLog(@"%d  %f",pre[j],after[j]);
}
}
[self choose];
}

-(void) Personal{
// TODO Auto-generated method stub
NSLog(@"请输入需要转换的度数");
int number = 0;
scanf("%d",&number);
float result = 5 / 9.0f * (number - 32);
NSLog(@"%.1f\n",result);
[self choose];
}

@end




第二题:找出所有的水仙花数

package week2;

import java.util.ArrayList;
import java.util.List;

/**
* 求所有的水仙花数
* @author Lenovo_PC
*/
public class Test02 {
public static void main(String[] args){
System.out.println("所有水仙花数:");
int ge,shi,bai;
List<Integer> list = new ArrayList<Integer>();
for (int i = 100; i < 1000; i++) {
ge = i % 10;
shi = i / 10 % 10;
bai = i / 100;
if (Math.pow(ge, 3)+Math.pow(shi, 3)+Math.pow(bai, 3) == i) {
list.add(i);
}
}
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i));
}
}
}




OC:(主要就是所找个数不确定,所以不能用数组,用动态内存分配来实现,时隔两年再一次玩动态内存分配又有了点当时做ASM题的感觉啊)

//
//  Flower.m
//  changeDemo
//
//  Created by Zb_tjw on 2017/10/10.
//  Copyright © 2017年 Zb_tjw. All rights reserved.
//

#import "Flower.h"

@implementation Flower

- (void)find{
NSLog(@"所有水仙花数:");
int ge,shi,bai;
int *result = NULL;
result = (int *)malloc(sizeof(int));
int length = 0;
for (int i = 100; i < 1000; i++) {
ge = i % 10;
shi = i / 10 % 10;
bai = i / 100;
if (ge*ge*ge+shi*shi*shi+bai*bai*bai == i) {
result[length] = i;
result = (int *)realloc(result, sizeof(int));
length++;
}
}
for (int i = 0; i < length; i++) {
NSLog(@"%d", result[i]);
}
}

@end




第三题:求1到20的阶乘的和

package week2;

/**
* 1到20的阶乘和
* @author Lenovo_PC
*/
public class Test03 {

public static void main(String[] args) {
// TODO Auto-generated method stub
double sum = 0,multiply = 1;
for (int i = 1; i <= 20; i++) {
for (int j = 1; j <= i; j++) {
multiply *= j;
}
sum += multiply;
multiply = 1;

}
System.out.println("1到20的阶乘和为:"+sum);
}

}




OC:(部分主要的实现代码)

//
//  Multiply.m
//  changeDemo
//
//  Created by Zb_tjw on 2017/10/10.
//  Copyright © 2017年 Zb_tjw. All rights reserved.
//

#import "Multiply.h"

@implementation Multiply

- (void)mutiply{
double sum = 0,multiply = 1;
for (int i = 1; i <= 20; i++) {
for (int j = 1; j <= i; j++) {
multiply *= j;
}
sum += multiply;
multiply = 1;

}
NSLog(@"1到20的阶乘和为:%e",sum);
}
@end


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java