标签: short

Java更优雅的方式用if语句写if语句

是否有更优雅/更短/有组织的方式来编写这段代码?

for (int i = 0; i < SCREENSIZE; i++) {
        for (int j = 0; j < SCREENSIZE; j++) {
            if (map[y + i][x + j] == '@')
                g.drawImage(item, j * TILESIZE,i * TILESIZE, null);
            else if (map[y + i][x + j] == ' ')
                g.drawImage(ground, j * TILESIZE,i * TILESIZE, null);
            else if (map[y + i][x + j] == 'i')
                g.drawImage(bush, j * TILESIZE, i * TILESIZE, null);
            else if (map[y + i][x + j] == '~')
                g.drawImage(ocean, …
Run Code Online (Sandbox Code Playgroud)

java image short

1
推荐指数
1
解决办法
357
查看次数

将int数组转换为short*时,为什么为元素赋值会覆盖整个整数?

我正在观看Jerry Cain的Programming Paradigms Lecture 3视频,其中展示了在int数组和短数组之间进行元素分配后的效果.本质上,参数是如果你要分配一个int数组元素arr[3] = 128,然后暂时将int数组转换为short*并赋值arr[6] = 2,那么arr [3]应该变为128 + 512 = 640,因为2将被解释为在2 ^ 9位置.代码演示:

#include <stdio.h>

int main() {
  printf("sizeof(int) is %lu\n", sizeof(int));
  printf("sizeof(short) is %lu\n", sizeof(short));
  int arr[5];
  arr[3] = 128;
  ((short*)arr)[6] = 2;
  printf("arr[3] is equal to %d\n", arr[3]); //expect 640, get 2 instead
  return 0;
}
Run Code Online (Sandbox Code Playgroud)

当我运行此代码时,我得到以下输出:

sizeof(int) is 4
sizeof(short) is 2
arr[3] is equal to 2
Run Code Online (Sandbox Code Playgroud)

我希望arr [3]等于640,但它只是等于2.我当然是一个C菜鸟 - 任何人都能解释一下吗?

c int casting short

1
推荐指数
1
解决办法
786
查看次数

如果行为PHP短

可能重复:
我如何理解PHP中的嵌套?:运算符?

为什么这样:

  $object->customer->phone =
          ! empty( $object->customer->address->phone_fixed ) ?
                    $object->customer->address->phone_fixed :
          ! empty( $object->customer->address->phone_mobile ) ?
                    $object->customer->address->phone_mobile :
          ! empty( $object->customer->address->phone_business ) ?
                    $object->customer->address->phone_business : '';
Run Code Online (Sandbox Code Playgroud)

返回$object->customer->address->phone_business,即使$object->customer->address->phone_fixed设置而不是空?

谢谢.

php if-statement short

1
推荐指数
1
解决办法
220
查看次数

JTextField只接受有效的无符号短裤?(使用KeyAdapter)

下面是KeyAdapter我试图只接受小于65535的值.看起来好像它实际应该在它后面的一个击键.例如,如果我输入"55",System.out.println将产生"5",执行"3298"将产生"329"等.

// Allows for unsigned short values only
KeyAdapter unsignedShortAdapter = new KeyAdapter() {

    public void keyTyped(KeyEvent e) {
        char c = e.getKeyChar();
        int tempInt = 0;
        JTextField temp = null;

        if (!((Character.isDigit(c) || (c == KeyEvent.VK_BACK_SPACE) || (c == KeyEvent.VK_DELETE)))) {
            getToolkit().beep();
            e.consume();
        }
        try {
            temp = (JTextField) e.getSource();
            System.out.println(temp.getText());
            tempInt = (Integer.parseInt(temp.getText().toString()));
        } catch (NumberFormatException e1) {

        } finally {
            if (tempInt > (Short.MAX_VALUE * 2)) {
                 getToolkit().beep();
                 e.consume();
                temp.setText(temp.getText().substring(0, temp.getText().length() - 1));

                invalidate();
            }

        }
    } …
Run Code Online (Sandbox Code Playgroud)

java swing short adapter jtextfield

1
推荐指数
1
解决办法
359
查看次数

如何打印short int C对象的字节表示

可能重复:
使用C以二进制表示形式打印int

我如何打印short int的字节表示,并在C中加倍.

就像我说有一个函数display_shortInt一样,我如何让它打印short int的字节表示?我是C的新手,谢谢你!

c int byte short

1
推荐指数
1
解决办法
1万
查看次数

用于解码无符号短值的函数

我有一些任务的小问题.

我们对这个问题进行了调查.单个调查的结果(从一个受访者获得)提供了以下信息,这些信息将被编码为无符号短类型的变量(可以假设它是2个字节--16位)

  1. 性 - 1位 - 2种可能性
  2. 婚姻状况 - 2位 - 4种可能性
  3. 年龄 - 2位 - 4种可能性
  4. 教育 - 2位 - 4种可能性
  5. 城市 - 2位 - 4种可能性
  6. 区域 - 4位 - 16种可能性
  7. 答案 - 3位 - 8种可能性

     unsigned short coding(int sex, int marital_status, int age, int edu, int city, int region, int reply){
    
        unsigned short result = 0;
    
        result = result + sex;
        result = result + ( marital_status << 1 );
        result = result + ( age << 3); …
    Run Code Online (Sandbox Code Playgroud)

c c++ decode short data-structures

1
推荐指数
1
解决办法
476
查看次数

如何将三个无符号整数打包成C中的无符号短整数

我有一个大学的作业,我必须使用C来打包三个表示日期的无符号整数(年份必须在1970年到2097年之间)并将其压缩成无符号的短片,然后再将其解压缩并在命令行中显示.

有谁可以帮助我吗?

下面我留下我到目前为止的代码(函数和函数签名之外的声明变量无法更改)

编辑:我有第二个问题,即getchar函数不返回任何内容,将三个日期字段设置为0 ...

#include <stdio.h>

typedef unsigned short pkdate_t;
typedef struct date3 {
    unsigned year;
    unsigned month;
    unsigned day;
} date3_t;

int ror (int val, unsigned n) {
    return (val >> n)|(n << (32 - n));
}

int pack_date (pkdate_t * dst, date3_t * src) {
    if ((*src).year < 1097 || (*src).year > 2097 || (*src).month < 1 || (*src).month > 12 || (*src).day < 1 ||
    ((*src).month == 2 && (((*src).year / 4 == 0 …
Run Code Online (Sandbox Code Playgroud)

c int short packing

1
推荐指数
1
解决办法
590
查看次数

Java,打印所有16位的二进制短

例如:

10 - > 0000 0000 0000 1010
15 - > 0000 0000 0000 1111

我尝试使用Integer.toBinaryString()但打印

10 - > 1010
15 - > 1111

是否有一个功能可以打印所有16位数的短信或我必须自己写.

java binary numbers short

1
推荐指数
1
解决办法
4733
查看次数

为什么没有String.valueOf(短a);

我不得不将字符串强制转换为字符串,我唯一能做的就是将空字符串连接起来,这是正确的方法吗?

PS,为什么没有String.valueOf(short a);

java casting short

1
推荐指数
1
解决办法
3448
查看次数

int用两个最重要的字节来缩短

我有一个整数

int a = //...
Run Code Online (Sandbox Code Playgroud)

intjava中的s由4个字节组成.如果我们将其转换为short,我们将采用两个最不重要的字节.什么是最快的方法来short组成2个最重要byteint

short b = //take two most significant bytes of a
Run Code Online (Sandbox Code Playgroud)

java int short

1
推荐指数
1
解决办法
216
查看次数

标签 统计

short ×10

java ×5

c ×4

int ×4

casting ×2

adapter ×1

binary ×1

byte ×1

c++ ×1

data-structures ×1

decode ×1

if-statement ×1

image ×1

jtextfield ×1

numbers ×1

packing ×1

php ×1

swing ×1