当前位置: 首页 > 面试题库 >

Java打印功能

龚星洲
2023-03-14
问题内容

我需要在另一个类的此Java应用程序中编写打印功能的帮助。

这些功能与printAll我认为是正确的,而其他功能肯定是错误的。

public void printAll() {
    Iterator<StockItem> iterator = values();
    while (iterator.hasNext())
        System.out.println(iterator.next().toString());
}

// Prints a directory of all StockItems from the given vendor, 
// in sorted order (ordered by SKU).
public void print(String vendor) {
    Iterator<StockItem> iterator = values();
    if (dictionary.getItem(SKU).getVendor() == vendor)
        System.out.println(tmp.toString());
}

我将在下面写下此问题所需部分的全部功能。

import data_structures.*;
import java.util.Iterator;

public class ProductLookup {


DictionaryADT<String,StockItem> dictionary;
private int maxSize;

public ProductLookup(int maxSize, DictionaryADT<String,StockItem> dictionary) {
    this(maxSize);
    this.dictionary = dictionary;
}

// Constructor.  There is no argument-less constructor, or default size
public ProductLookup(int maxSize) {
    this.maxSize = maxSize;
}

// Adds a new StockItem to the dictionary
public void addItem(String SKU, StockItem item) {
    dictionary.insert(SKU,item);
}

// Returns the StockItem associated with the given SKU, if it is
// in the ProductLookup, null if it is not.
public StockItem getItem(String SKU) {
    if (SKU == null)
        return null;
    return dictionary.getValue(SKU);
}

// Returns the retail price associated with the given SKU value.
// -.01 if the item is not in the dictionary
public float getRetail(String SKU) {
    if (!dictionary.contains(SKU))
        return (float) -.01;
    return getItem(SKU).getRetail();
}

public float getCost(String SKU) {
    if (!dictionary.contains(SKU))
        return (float) -.01;
    return getItem(SKU).getCost();
}

// Returns the description of the item, null if not in the dictionary.
public String getDescription(String SKU) {
    if (!dictionary.contains(SKU))
        return null;
    return getItem(SKU).getDescription();
}

// Deletes the StockItem associated with the SKU if it is
// in the ProductLookup.  Returns true if it was found and
// deleted, otherwise false.  
public boolean deleteItem(String SKU) {
    if (SKU == null)
        return false;
    return dictionary.remove(SKU);
}

// Prints a directory of all StockItems with their associated
// price, in sorted order (ordered by SKU).
public void printAll() {
    Iterator<StockItem> iterator = values();
    while (iterator.hasNext())
        System.out.println(iterator.next().toString());
}

// Prints a directory of all StockItems from the given vendor, 
// in sorted order (ordered by SKU).
public void print(String vendor) {
    Iterator<StockItem> iterator = values();
    if (dictionary.getItem(SKU).getVendor() == vendor)
        System.out.println(tmp.toString());
}

// An iterator of the SKU keys.
public Iterator<String> keys() {
    return dictionary.keys();
}

// An iterator of the StockItem values.    
public Iterator<StockItem> values() {
     return dictionary.values();
}
}

由于实际上没有看到DictionaryADT令人困惑,因此我将其包含在此处。

package data_structures;

import java.util.Iterator;
import java.util.NoSuchElementException;


public interface DictionaryADT<K,V> {

// Returns true if the dictionary has an object identified by
// key in it, otherwise false.
public boolean contains(K key);

// Adds the given key/value pair to the dictionary.  Returns
// false if the dictionary is full, or if the key is a duplicate.
// Returns true if addition succeeded.
public boolean insert(K key, V value);

// Deletes the key/value pair identified by the key parameter.
// Returns true if the key/value pair was found and removed,
// otherwise false.
public boolean remove(K key);

// Returns the value associated with the parameter key.  Returns
// null if the key is not found or the dictionary is empty.
public V getValue(K key);

// Returns the key associated with the parameter value.  Returns
// null if the value is not found in the dictionary.  If more
// than one key exists that matches the given value, returns the
// first one found.
public K getKey(V value);

// Returns the number of key/value pairs currently stored
// in the dictionary
public int size();

// Returns true if the dictionary is at max capacity
public boolean isFull();

// Returns true if the dictionary is empty
public boolean isEmpty();

// Returns the Dictionary object to an empty state.
public void clear();

// Returns an Iterator of the keys in the dictionary, in ascending
// sorted order.  The iterator must be fail-fast.
public Iterator<K> keys();

// Returns an Iterator of the values in the dictionary.  The
// order of the values must match the order of the keys.
// The iterator must be fail-fast.
public Iterator<V> values();
}

问题答案:

如果DictionaryADT是具有所有实际实现的类,则需要调用

我相信您然后在DictionaryADT中有Map,类似

public Collection<StockItem> values() {
    return dictionary.values(); 
}

要获取密钥,将Iterator更改为Set

public Set<String> keys() {
    return dictionary.keySet(); // return Set, Please perform all the set opetations.
}

我相信这是您想要的。

谢谢,贝内特。



 类似资料:
  • 本文向大家介绍JS打印组合功能,包括了JS打印组合功能的使用技巧和注意事项,需要的朋友参考一下 本文为大家分享了JS打印组合功能,功能全面,供大家参考,具体内容如下 1.局部打印--即想打印什么地方就打印什么地方  解决办法:  将不想打印的地方隐藏起来  <style type="text/css" media=print> .noprint{display : none }  分页的时候用 

  • 问题内容: 我最近切换了操作系统,并正在使用较新的Python(2.7)。在旧系统上,我曾经能够即时打印。例如,假设我有一个计算密集的for循环: 然后当代码完成每次迭代时,它将打印 但是,在我当前的系统上,python似乎缓存了stdout,因此终端空白了几分钟,然后输出: 短期内。然后,几分钟后,它将打印: 等等。如何在到达语句后立即进行python打印? 问题答案: 尝试在打印后调用冲洗标准

  • 问题内容: 我想打印任何文本而不在Java中使用system.out.println()吗?如果可以,那么怎么办?任何想法。 问题答案:

  • 问题内容: 谁能解释我在python shell中通过“打印”输出变量与当我只写变量名称以输出变量之间的区别吗? 当我用文本执行此操作时,我理解了差异,但理解为int或float-我不知道。 问题答案: 只需输入表达式(例如变量名),实际上就会输出该函数返回的结果表示形式,而将使用该函数将结果转换为字符串。>>> s =“ abc” 打印将产生与直接输入表达式相同的结果:

  • 我有一个连接到CUPS的打印机,它支持双面打印,如何通过java例程将其设置为单面打印或双面打印? 我曾尝试使用它的库使用ASET添加和addViewer首选项没有任何运气。 有人能提供一些建议吗?

  • 问题内容: 我使用以下代码编译以下示例: 我得到: 第5行像第6行一样更改了代码。 在打印函数的地址时,我缺少删除警告的内容吗? 问题答案: 本质上,这是打印函数指针的唯一可移植方式。