Java怎么用for循环给数组赋值?

package les9;

import java.util.Scanner;

public class Book {

/**
 * @param args
 */
private static int bookNum;
private static double price;
public Book(int bookNum,double price){
    this.bookNum=bookNum;
    this.price=price;
}

public static double MaxPrice(Book[] b){
    double MaxPrice=Double.MIN_VALUE;
    for(int i=0;i<b.length;i++){
        if(b[i].bookNum*b[i].price>MaxPrice){
            MaxPrice=b[i].bookNum*b[i].price;
        }
    }
    return MaxPrice;
}

public static double MinPrice(Book[] b){
    double MinPrice=Double.MAX_VALUE;
    for(int i=0;i<b.length;i++){
        if(b[i].bookNum*b[i].price<MinPrice){
            MinPrice=b[i].bookNum*b[i].price;
        }
    }
    return MinPrice;
}

public static void show() {
    System.out.println("数量:"+bookNum+"\t单价:"+price);
}

public static void showAll(Book[] b) {
    for(int i=0;i<b.length;i++) {
        System.out.println("数量:"+b[i].bookNum+"\t单价:"+b[i].price);
    }
}
public static void main(String[] args) {
    Book b[]=new Book[2];
    Scanner sc=new Scanner(System.in);
    for(int i=0;i<b.length;i++){
        System.out.println("请输入第"+(i+1)+"本书的单价:");
        int num=sc.nextInt();
        System.out.println("请输入第"+(i+1)+"本书的数量:");
        double pri=sc.nextDouble();
        b[i]=new Book(num,pri);
        Book.show();
    }
    showAll(b);
    System.out.println("最低价为:"+Book.MinPrice(b));
    System.out.println("最高价为:"+Book.MaxPrice(b));
}

}

代码如图,主要的问题是,如何在new一个对象的前提下,对数组进行循环赋值,并且能够输出前一轮循环赋值的数据

0

1个回答

private static int bookNum;
private static double price;
这些不能是static的
包括 public static void show()
你首先应该把主程序和Book类分开写

package les9;

import java.util.Scanner;

class Book {

/**
 * @param args
 */
private int bookNum;
private double price;
public Book(int bookNum,double price){
    this.bookNum=bookNum;
    this.price=price;
}

public static double MaxPrice(Book[] b){
    double MaxPrice=Double.MIN_VALUE;
    for(int i=0;i<b.length;i++){
        if(b[i].bookNum*b[i].price>MaxPrice){
            MaxPrice=b[i].bookNum*b[i].price;
        }
    }
    return MaxPrice;
}

public static double MinPrice(Book[] b){
    double MinPrice=Double.MAX_VALUE;
    for(int i=0;i<b.length;i++){
        if(b[i].bookNum*b[i].price<MinPrice){
            MinPrice=b[i].bookNum*b[i].price;
        }
    }
    return MinPrice;
}

public void show() {
    System.out.println("数量:"+bookNum+"\t单价:"+price);
}

public static void showAll(Book[] b) {
    for(int i=0;i<b.length;i++) {
        System.out.println("数量:"+b[i].bookNum+"\t单价:"+b[i].price);
    }
}
}
public class Program {
public static void main(String[] args) {
    Book b[]=new Book[2];
    Scanner sc=new Scanner(System.in);
    for(int i=0;i<b.length;i++){
        System.out.println("请输入第"+(i+1)+"本书的单价:");
        int num=sc.nextInt();
        System.out.println("请输入第"+(i+1)+"本书的数量:");
        double pri=sc.nextDouble();
        b[i]=new Book(num,pri);
        b[i].show();
    }
    Book.showAll(b);
    System.out.println("最低价为:"+Book.MinPrice(b));
    System.out.println("最高价为:"+Book.MaxPrice(b));
}
}

将Book.java重命名为Program.java

1
caozhy
贵阳挖掘机马善福,自备车辆专业挖游泳池 回复qq_23126581: 谢谢~~
9 个月之前 回复
qq_23126581
玄元复始道生初,守一无穷尽万物 可以采纳了
9 个月之前 回复
qq_23126581
玄元复始道生初,守一无穷尽万物 回复gjmding: 你要感谢就应该采纳下。
9 个月之前 回复
gjmding
gjmding 看了一遍您改后的代码,然后仔细重敲了一遍,现在已经可以正常运行了,感谢
9 个月之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
二维数组的定义,赋值,使用for循环给二维数组赋值,使用增强型for循环遍历二维数组
package com.Array; public class test { public static void main(String[] args) { // 学会二维数组的定义,初始化,循环赋值 // 用第一种方法定义二维数组 int intArray[][]; // 用第二种方法定义二维数组 int[] intArray1[]; // 用第三种方法定义二维数...
增强for循环不能给集合或者数组赋值
使用foreach循环遍历数组元素无须获得数组长度,也无须根据索引来访问数组元素。foreach循环与普通循环不同的是,它无须循环条件,无须循环迭代语句,自动循环数组中的每个元素,当所有元素都循环一遍后, 自动结束。     当使用foreach循环来迭代输出数组元素或集合元素时,通常不要对循环变量进行复制,虽然这种赋值在语法上是允许的,但没有太大的实际意义,而且极容易引起错误。
C语言中for循环遍历给数组元素赋值需注意的问题
在C语言中,我们通常是用malloc函数分配内存得到一个数组a,然后使用for循环遍历给数组赋值,赋值的方式有很多种,比如a[i]=i,*(a++)=i,建议使用第一种方法,第二种方法一不小心就容易出错,看下面的一个编程例子 我们使用*(data_col++) = output_rows;的方式给数组赋值,编译运行结果是 如果用*(p++) = output_rows;,代码如下 ...
给数组赋随机数
void fuzhi(int a[]){//传递的是数组地址,所做的修改会留下 srand((unsigned)time(NULL)); //include&include for(int i=0;i<20;i++){ a[i]=rand()%500; printf("%d ",a[i]); } printf("\n"); return; }
用for循环对int数组的赋值和用System.arraycopy()对int数组赋值的速度比较
结论:还是用for循环吧。/* * 测试输入赋相同值的速度: * 问题来源:spfa()算法每次都要对两个 length=802 的数组赋值,也就是没求一条最短路径就要赋值一次,也就是大概赋值300*40=12000次 * 结论:还是用for循环做吧 * output: * 用for循环做的赋值时间是:39 用System.Arraycopy()循环做的赋值时间是:64*/ public
两层for 循环中赋值问题
1:问题代码 &amp;lt;!DOCTYPE html&amp;gt; &amp;lt;html&amp;gt; &amp;lt;head&amp;gt; &amp;lt;meta charset=&quot;UTF-8&quot;&amp;gt; &amp;lt;title&amp;gt;&amp;lt;/title&amp;gt; &amp;lt;/head&amp;gt; &amp;lt;body&amp;gt; &amp;lt;!-- &amp;lt;sc
数组&for循环赋值&for循环取值&冒泡排序&数组的升序排序&反转数组取值
数组: 表示通过一个循环给数组赋值: 表示通过一个循环给数组取值: 冒泡排序: 这个方法只能对数组进行升序排序 : 反转数组,取值 :
js for循环给object数组赋值
var style = { fontsize: 12, left: 0 }; var style_array = new Array(); function ss(){ for (var i = 0; i &lt; 12; i++) { style={};//重点 style.fontsize = parseInt((M...
只使用for循环和赋值的方式对字符串进行去重
        最近,有个朋友去面试时让一道笔试题给难住了,具体的代码要求当时写出来,考的是非常基础的东西,但是个人感觉这道题非常有意思,话不多说上题目:要求对一串没有任何规律的字符串,例如aassgtgfaagsds,对这个字符串首先进行去重,求出去重后的字符串,其实对原始字符串进行字符统计,统计出每一个字符在这个字符串中出现的次数,最后是将去重后的字符串进行排序,这个题目猛一看貌似很简单,但是...
一维数组拷贝的方式:for循环
说到数组拷贝,先看看浅拷贝与深拷贝的概念。 概括起来讲,浅拷贝就是指两个对象公用一个值,一个的改变了另一个也会随之改变,深拷贝则是两个对象虽然值相等,但是相互独立互不影响。 第一种一维数组的拷贝方式:for循环实现数组拷贝 看以下例子: import java.util.Arrays; public class TestDemo { public static vo...
Java循环变量在哪里赋值
在循环体外为循环变量赋初值: int sum=0; int i=0,j=0,k=0; for(;i<10;i++){ for(;j<10;j++){ for(;k<10;k++){ sum++; } }
python 循环数据赋值
python在数值赋值的时候可以采用数值内循环赋值,很方便如下a  = [x for x in range(10)]这样a = [0,1,2,3,4,5,6,7,8,9]这里循环得到的是x,x是每次循环的值,这里就是0123456789如果需要用到x如下d = [np.random.rand(10,x) for x in range(10)] print(d)d 第一次循环产生10个20行1列的二
java 使用for增强【foreach】给数组赋值问题
今天在学习java时练习书上的例子,例子在给一个数组a赋值时使用的是普通for循环: double []a = new double[count]; for(int i=0;i&lt;a.length;i++) a[i] = read.nextDouble(); 我想试试能不能用更简洁的foreach,于是写了: double []a = new double[count]; f...
倒叙输出数组
编写程序:选择排序 初始化大小为16的byte类型数组(30分) 使用for循环给数组赋值(随机数)(30分) 使用选择排序对赋值后的数组进行降序排序(40分) public static void main(String[] args) { // write your code here //1.初始化大小为16的byte类型数组(30分) ...
增强for循环对于“二维”数组进行循环的案例
对于“二维”数组进行foreach循环的话可以如下: String name[][] = { { "张三", "李四", "王五" }, { "张六", "李七", "王八" }, { "张九", "李十", "王十一" } }; for (String[] str1 : name) { for (String str2 : str1) { ...
java-使用for循环给list赋值
最近在使用for循环给list赋值,最后发现list中的所有对象的值都变成了最后一个对象的值了,查资料才知道list在调用add()方法时,每次都只是保留的一个对象的引用,如果在for循环外面new list的对象,最后list集合里面对象的值全都变成了最后一次对象的值。因此在for循环内new对象,每循环一次,就有会创建新的内存地址给对象,list每次添加的引用就不同了。 List&amp;lt;L...
链表结构循环赋值
关于链表结构循环赋值,需要一个中间变量。 因为直接改 head 让 head = head.next,就丢失了 最初的 head /** * Definition for singly-linked list. * public class ListNode { * public int val; * public ListNode next; * ...
怎么将利用DWR调用JAVA类方法所返回的ArrayList数组   赋值给   logiciterate 迭代器
怎么将利用DWR调用JAVA类方法所返回的ArrayList数组   赋值给   logiciterate 迭代器?.txt怎么将利用DWR调用JAVA类方法所返回的ArrayList数组   赋值给   logiciterate 迭代器?.txt怎么将利用DWR调用JAVA类方法所返回的ArrayList数组   赋值给   logiciterate 迭代器?.txt
关于多重for循环中赋初值位置的注意事项
我们都知道,for语句中可以为变量进行赋值,有时因需要,要对一个变量每次循环都赋同一个初值,但这个变量不是随便就可以放到任何一个for语句中的,如果赋值位置不对,容易导致逻辑错误,而编译又没报错,很难找到根源。 for语句里对变量的赋值是在最开始进入循环(包括跳出循环后又重新运行本循环)才赋的值;在for循环开始执行时,除第一次循环,在没跳出循环情况下,后面每次循环都不会再运行for里的赋值语...
javascript中for循环和标签元素赋值问题
&amp;lt;!DOCTYPE html&amp;gt; &amp;lt;html&amp;gt; &amp;lt;body&amp;gt; &amp;lt;p&amp;gt;点击下面的按钮,将代码块循环五次:&amp;lt;/p&amp;gt; &amp;lt;button onclick=&quot;myFunction()&quot;&amp;gt;点击这里&amp;lt;/button&amp;gt; &amp;lt;p id=&quot;demo&quot;&amp;gt;&amp;lt;/p&
大数据学习之Scala中数组(Array)与循环控制for联合使用学习(4)
相信大家在开发当中数组这个集合用到的频率还是相当多的,因此有必要好好学习它。 下面,就跟随我的脚步来了解和学习使用Scala中的数组。 数组定义: var 数组名:Array[数据类型] = new Array[数据类型](数组长度); 例如: val arrA: Array[String] = new Array[String](10); 这儿就定义了
Java循环打印数组
import java.util.Arrays; public class HelloWorld { private static int N = 5 ; private int[][] array = new Array(); private int i ,j; public static void main(String []args) { printA
python中for循环赋值,跳出循环后赋值失败
我发现了一个很有意思的现象,在for循环中,赋值打印的时候,数组数值是正确的,跳出循环后,再次打印发现赋值失败。后来发现关键问题在数组的声明上。 org_pose = [[0] * (array_width)] * array_len for row in csv_file: org_pose[i][0] = row[1] org_pose[i][1] = row[2] ...
JS案例6-用for循环为文本框赋值和取值
效果演示: 效果演示 源码: &amp;lt;!DOCTYPE html&amp;gt; &amp;lt;html&amp;gt; &amp;lt;head&amp;gt; &amp;lt;title&amp;gt;demo&amp;lt;/title&amp;gt; &amp;lt;/head&amp;gt; &amp;lt;style&amp;gt; input{width: 20px} &amp;lt;/style&amp;gt;
微信小程序循环赋值坑
最近在弄微信小程序,类似于共享单车用来练练手,基本原理就是小程序发送经纬度给服务器,服务器从数据库中检索经纬度附近的单车传给小程序。 就在这里。。没错就是这里,传回来的值是以jsonarray格式传过来的。 我需要将jsonarray进行解析获取经纬度,ID等车辆信息,然后赋值给小程序地图上的mark,一般我的思路时直接用个for循环给每个mark进行赋值然后再Setdata一下就ok, 结
不用循环时的数组处理
尽管大多数情况下,我们碰到数组相关的数据处理都会用到魂环,但是极少数情况或者面试的时候会被问到,不能用循环时的数组处理。 举个例子,有个面试题问到:不用循环,不逐一赋值的情况下,把一个数组逆序输出。一般这类的问题,用递归的方法可以轻松解决。 void Start() { int[] ary = new int[] { 1, 2, 3, 5, 7 }; ...
jq循环给指定键赋值
//更新 修改城市 var btns = $('.tab').find('.edits'); //获取所有的HTML for (var i = 0; i < btns.length; ++i) { //判断指定的值
循环数组赋值给对象并push到数组中
初始数据: 转化为 代码: const data=&amp;amp;amp;quot;初始数据&amp;amp;amp;quot; const arr=[] Object.keys(data).forEach((key,i,v)=&amp;amp;amp;amp;gt;{ const item={ x:key, ...
Java (数组的遍历,for循环的使用)
/*多行注释的快捷键:Ctrl+shift+/ 快速格式化代码快捷键:Ctrl+shift+f 自动导入一个包:Ctrl+shift+o */ package test_1;public class Day_2 { public static void main(String args[]) { //一个九九乘法表的实现 int c = 0; f
JAVA-编写循环将一个数组的值赋值给另一数组
package com.Javapractice; // 循环给新数组赋值 public class practice3 { public static void main(String args[]){ int a[]={10,20,30,40,50}; //int b[(a.length)]; // 不可以这样声明 //int b[]=
微信小程序循环给对象赋值
for (var i = 0; i &amp;lt; that.data.IPS.length; i++) { if (that.data.IPS[i].IP_RECID == e.target.dataset.ip) { var DZZT = &quot;IPS[&quot; + i + &quot;].DZZT&quot; var DZSL = &quot;IPS[&quot; + i + &quot;].DZSL&quot; if (that.data.IPS[i].DZZT...
java循环语句,一维数组
1、实现二分查找算法:有序的数组 public class TestDemo1 { public static int binary(int[] array, int key) {//key为要查找的数 Arrays.sort(array);//正序排列数组 System.out.println(&amp;amp;amp;amp;amp;amp;amp;amp;quot;由从小到大顺序排列数组:&amp;amp;amp;amp;amp;amp;amp;amp;
js&nbsp;数组赋值和java数组赋值
js: var jsArray = ["arr1","arr2","arr3","arr4"]; java: String javaArray[] = {"arr1","arr2","arr3"};
Java中数组的赋值方式
方法一: 使用默认是初始值来初始化数组中的每一个元素 语法:数组元素类型 [ ] 数组名 = new 数组元素类型[数组中元素的个数(数组的长度)] int [ ] number = new int [10]; 方法二: 先赋值,然后在赋予默认的初始值 语法:数组元素类型[ ] 数组名 数组名=new 数组元素类型 [数组中元素的个数(数组的长度)] int [ ] number; number ...
用一个for循环打印出一个二维数组
思路分析: int array[row][column]; 首先,二维数组在内存中默认情况下是行存储的,所以可以将二维数组array看成一个一维数组,i 标识该数组在一维数组中的位置,则array在二维数组中的行号和列号分别为 [ i / column] 和 [ i % column]。 例如,arr[2][3] = {1, 2, 3, 4, 5, 6}; 数组元素对应的下标为 0,
for循环给list赋值是,要注意list要初始化且放过在for外面
public List&lt;Category&gt; findAll() { Jedis jedis = JedisUtil.getJedis(); Set&lt;Tuple&gt; cSet = jedis.zrangeWithScores("category", 0, -1); List&lt;Category&gt; clist = nul...
用for循环向一个一维数组添加数据并输出数组的元素
package book; import java.util.Scanner; public class JiOu { public static void main(String[] args) { System.out.println(&quot;输入数组的大小:&quot;); Scanner sc = new Scanner(System.in); int n = sc.nextInt()...
js中for里面要对空对象进行属性的赋值,属性名为for循环的item
先上一波无脑代码: let timeObj = {}; for (var i in craftsmanTimes){ if (craftsmanTimes[i] == 1){ timeObj.i = '1' } } 代码像我想的一样理所当然…… 结果debugger在for循环以后发现 timeObj:{ i:1 } wtf……,我以为我...
C#中将foreach改为for循环,并将数据添加到数组中以["",""]格式输出
如何反序列化为对象具体步骤见:将json带数组的数据反序列化 将List数据添加到数组中,然后将数组以[“”,”“]格式输出: 类似这里的id(多个放到数组中) public class OrderList { public bool success { get; set; } public List&amp;lt;ModelOrder&amp;gt; model...
form表单中select组件使用for循环赋值
使用场景:当我们的select下拉菜单中可选项过多,可以通过for循环来渲染,使用如下。 1. 注意在js代码中嵌入了java代码 请选择分钟 <% for(int i=1;i<=60;i++){ %> ">