一道Java编程题 求源代码
一道Java编程题 求源代码
/***Invoice 类**/
public class Invoice {
private String sno;//编号
private String mark;//说明
private int number;//数量
private double price;//单价;
/********提供set, get 方法***************/
public String getSno() {
return sno;
}
public void setSno(String sno) {
this.sno = sno;
}
public String getMark() {
return mark;
}
public void setMark(String mark) {
this.mark = mark;
}
public int getNumber() {
return number;
}
public void setNumber(int number) {
if(number<0){//小于0
this.number = 0;
}else{
this.number = number;
}
}
public double getPrice() {
return price;
}
public void setPrice(double price) {
if(price<0){//小于0.0
this.price = 0.0;
}else{
this.price = price;
}
}
public double getInvoiceAmount(){//返回金额总数
return this.getNumber()*this.getPrice();
}
private Invoice(){//设为私有, 不允许构造没有参数的构造方法,
} //只能通过下面的构造方法new
/**
* 构造时, 初始化这4个实例变量
*/
public Invoice(String sno, String mark, int number, double price) {
this.sno = sno;
this.mark = mark;
if(number<0){//小于0
this.number = 0;
}else{
this.number = number;
}
if(price<0){//小于0.0
this.price = 0.0;
}else{
this.price = price;
}
}
}
/************ InvoiceTest 类************/
import java.text.DecimalFormat;
public class InvoiceTest {
public static void main(String[] args) throws Exception{
Invoice ie = new Invoice(B001,毛笔,7,2.3);//构造对象初始化
System.out.println(产品编号: +ie.getSno());
System.out.println(产品说明: +ie.getMark());
System.out.println(产品数量: +ie.getNumber());
System.out.println(产品单价: +ie.getPrice());
System.out.println(发票总计数额: +ie.getInvoiceAmount());//可以注释
DecimalFormat dft=(DecimalFormat) DecimalFormat.getInstance();
dft.applyPattern(0.00);//设置小数点位数 (两位) 四舍五入
System.out.println(发票总计数额: +dft.format(ie.getInvoiceAmount()));
}
}
/********** 以下是输出结果 *********/
产品编号: B001
产品说明: 毛笔
产品数量: 7
产品单价: 2.3
发票总计数额: 16.
发票总计数额: 16.10
求java中鞍点的源代码
import java.util.Scanner;
public class Andian {
private static int rows = 0;
private static int cols = 0;
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println(输入数组的函数和列数(以逗号隔开,如“2,3”为两行三列):);
String str = sc.next();
String s[] = str.split(,);//逗号分隔
if(s.length==2){
int[] arr = new int[s.length];
for(int i=0; i<arr.length; i++) {
arr[i] = Integer.parseInt(s[i]);
}
rows = arr[0];cols = arr[1];
int arr1[][] = new int[rows][cols];
for(int j = 0;j<rows;j++){
System.out.println(输入数组的第+(j+1)+行(以逗号隔开):);
String str1 = sc.next();
String s1[] = str1.split(,);//逗号分隔
if(s1.length == cols){
for(int h=0; h<cols; h++) {
arr1[j][h] = Integer.parseInt(s1[h]);
}
}else{
System.out.println(输入错误!!!);
}
}
for(int x = 0;x<rows;x++){
for(int y = 0;y<cols;y++){
System.out.print(arr1[x][y]+ );
}
System.out.println();
}
new Andian().getResult(arr1);
}else{
System.out.println(行数和列数输入错误!!!);
}
}
public void getResult(int a[][]){
int i,j,m,n=0,flag,num=0;
for(i=0;i<a.length;i++){
m=i;n=0; flag=1;
for(j=0;j<a[i].length;j++){
if(a[i][j]>a[m][n]){
n=j;
}
}
for(j=0;j<a.length;j++){
if(a[m][n]>a[j][n])
flag=0;
}
if(flag==1){
System.out.print(n第+(i+1)+行,第+(n+1)+列的+a[i][n]+是鞍点n);
num++;
}
}
if(num==0)
System.out.println(无鞍点);
}
}