Java homewok2
来源:互联网 发布:anyview4.0 java下载 编辑:程序博客网 时间:2024/06/05 18:48
1.考试成绩已经保存在数组scores中,依次为 89,23,64,91,119,52,73,-23。
要求根据通过自定义方法来找出其中前三名,将数组成绩作为参数传入,
要求判断成绩的有效性(0-100),如果成绩无效,则忽略此成绩。
public class homework1 {
public static voidmain(String[] args){
int []score ={89,23,64,91,119,52,73,-23};
for(int i=0;i<score.length;i++){
for(int j=i+1;j<score.length;j++){
if(score[i]<score[j]){
inttemp = score[i];
score[i] = score[j];
score[j] = temp;
}
}
}
int num = 0;
for(int i=0;i<score.length;i++){
if(score[i]<0 || score[i]>100){
continue;
}
num++;
if(num > 3){
break;
}
System.out.println(score[i]);
}
}
}
2. 用数组来实现, 定义并初始化一个(1--100)保存100个数的数组,从第一个
元素开始,依次数(1,2,3 循环往复),每次数到到3的元素淘汰掉.当到达数组末尾的
时候再从头开始,直到最后剩余一个元素,写出算法,并输出最后保留的元素所
在的最初的位置.
public class work4 {
public static void main(String[] args) {
int [] arr = new int [100];
for (int i = 0;i<100;i++){
arr[i]=i+1;}
int i= 0;
int times = 0;
int over= 0;
int num = 0;
while(times!=100){
if(arr[i]>=0){
if(num==2){
arr[i]=-1;
times++;
num=0;
over=i;
System.out.println(over);
}else{
num++;
}
}
i++;
if(i==100){
i=0;
}
System.out.println(+over);
}
}
}
3. 用数组来实现对于一个整形数组, 分别通过冒泡排序和 快速排序,实现对于任意
一个数组进行由小到大的排列。
冒泡排序
public class work3 {
public static voidmain(String[] args){
int[]arr={21,35,27,46,78,47,37,42,78};
for(int i=0;i<arr.length-1;i++){
for(int j=i+1;j<arr.length;j++){
if(arr[i]>arr[j]){
int step=arr[j];
arr[j]=arr[i];
arr[i]=step;
}
}
System.out.println(arr[i]);
}
}
}
快速排序
public class work2 {
public static void main(String[] args) {
int[] nums ={32,48,57,63,24,47,98,19,26,35};
quickSort(nums,0, nums.length-1);
for(int i = 0; i < nums.length; ++i) {
System.out.print(nums[i]+ ",");
}
System.out.println("");
}
public static void quickSort(int[]arr,int low,int high){
int i,j,temp;
i=low+1;
j=high-1;
if(high-low>1){
while(i<=j){
for(;i<high&&arr[i]<arr[low];i++);
for(;j>low&&arr[j]>=arr[low];j--);
if(i<j){
temp=arr[i];
arr[i]=arr[j];
arr[j]=temp;
}
}
if(j>low){
temp=arr[low];
arr[low]=arr[j];
arr[j]=temp;
}
if(j>low){
quickSort(arr,low,j);
}
if(i<high){
quickSort(arr,j+1,low);
}
}
}
}
public class homework4 {
public static voidmain(String[] args){
int times=0 ;
for(int i=101;i<=200;i++){
for(int j=2;j<=i;j++){
if(i == j){
System.out.println(j);
}else if(i%j == 0){
times++;
break;
}
}
}
System.out.println("总共有"+(100-times)+"个素数.");
}
}
5.题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
importjava.util.Scanner;
public class homework5 {
public static voidmain(String[] args){
System.out.println("请输入一串字符:");
Scanner scan=new Scanner(System.in);
Stringstr=scan.nextLine();
intCharNum=0,SpaceNum=0,IntNum=0,OtherNum=0;
for(int i=0;i<str.length();i++){
char ch=str.charAt(i);
if(ch >= 'a' && ch <='z' || ch <= 'Z' && ch >= 'A'){
CharNum++;
}else if(ch == ' '){
SpaceNum++;
}else if(ch >= '0' && ch <= '9'){
IntNum++;
}else{
OtherNum++;
}
}
System.out.println("输入的英文字母个数:"+CharNum+";");
System.out.println("输入的空格个数:"+SpaceNum+";");
System.out.println("输入的数字个数:"+IntNum+";");
System.out.println("输入的其它字符个数:"+OtherNum+"。");
}
}
6.题目:企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;
利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,
可可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之
间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提
成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润,求
应发放奖金总数?
importjava.util.Scanner;
public class homework6 {
public static voidmain(String[] args){
System.out.println("请输入利润:");
Scanner sca=new Scanner(System.in);
int profit=sca.nextInt();
double bonus=0;
if(profit<=100000){
bonus=0.1 *profit;
}else if(profit>100000 && profit<=200000){
bonus=10000 +0.075 * (profit - 100000);
}else if(profit>200000 && profit<=400000){
bonus=17500 +0.05 * (profit - 200000);
}else if(profit>400000 && profit<=600000){
bonus=27500 +0.003 * (profit - 400000);
}else if(profit>600000 && profit<=1000000){
bonus=10000 +0.015 * (profit - 600000);
}else {
bonus=10000 +0.01 * (profit - 1000000);
}
System.out.println("现金为:"+bonus+"元");
}
}
7.分别定义用户类,订单类,产品类,其中订单类至少要具有下订单的行为(入参为
一个产品名称), 产品类中至少有一个成员变量为产品名称,至少有一个方法用来获
取产品的名称。
用户类中持有一个产品类型的成员变量。用户类中持有一个订单类型的成员变量。
在我们的用户类中定义main函数,当执行的时候,构造一个用户类的对象, 并且通
过手段可以拿到产品成员变量中的产品名称,并且调用成员变量订单的对象,进行下
单。最后输出下单成功。
import java.util.Scanner;
class User{
String Product;
String Order;
}
class Order extends User{
void DropAnOrder(String name) {
System.out.println("您的商品:"+name+"下单成功!");
}
}
class Product extends User{
Stringname="手表";
StringstrName() {
Scanner scn=new Scanner(System.in);
System.out.println("请输入商品名称:");
Stringname=scn.nextLine();
return name;
}
public static void main(String[] args) {
User u=new User();
Product p=new Product();
u.Product=p.strName();
Order o=new Order();
o.DropAnOrder(u.Product);
}
}- Java homewok2
- java
- JAVA
- JAVA
- JAVA
- java
- Java
- Java
- JAVA:
- java
- java
- java
- java
- Java
- java
- java
- java
- JAVA?
- 如何快速编写一个汇编软件
- Excel 透视图数据源无效的问题(PivotTable Data Source Not Valid)
- Java IO操作
- 全程技术干货:VR画面渲染性能是这样提升的
- java代码优化
- Java homewok2
- IntelliJ IDEA 使用心得与常用快捷键 http://www.blogjava.net/rockblue1988/archive/2014/10/24/418994.html
- Rhyme/ Linux chage用户密码状态修改命令
- Android 以太网DHCP、STATIC两种IP分配方式的API调用
- 字符串算法——旋转数组中查找目标值(有重复元素)( Search in Rotated Sorted Array II)
- IntelliJ IDEA 下载安装以及破解
- 《Spring技术内幕》学习笔记2——IoC定位Bean定义资源
- rxvt介绍
- Linux IO复用区别与epoll详解