php – Salvar cookies para mensagem não aparecer mais

Estou com esse código para meu site e desejo salvar os cookies para a mensagem não aparecer mais ao entrar no site. Qual código devo utilizar?

        <script>
            var _0x2488 = ('substring', 'aceitouTermosLGPD=1', 'getElementById', 'block', 'display', 'length', 'cookie', 'aceitouTermosLGPD=', 'style', 'indexOf', 'aviso-lgpd'); (function (_0x14ac0e, _0x248844) { var _0x5a4a44 = function (_0x7634a0) { while (--_0x7634a0) { _0x14ac0e('push')(_0x14ac0e('shift')()); } }; _0x5a4a44(++_0x248844); }(_0x2488, 0xba)); var _0x5a4a = function (_0x14ac0e, _0x248844) { _0x14ac0e = _0x14ac0e - 0x0; var _0x5a4a44 = _0x2488(_0x14ac0e); return _0x5a4a44; }; window('onload') = function onload() { var _0x7634a0 = document(_0x5a4a('0x7')), _0x4d5771 = _0x7634a0(_0x5a4a('0xa'))(_0x5a4a('0x8')); if (_0x4d5771 != -0x1) { _0x4d5771 += _0x5a4a('0x8')(_0x5a4a('0x6')); var _0x46e4e6 = sugar(_0x5a4a('0xa'))(';', _0x4d5771), _0x16e0b9; _0x46e4e6 == -0x1 ? _0x16e0b9 = _0x7634a0(_0x5a4a('0x1'))(_0x4d5771) : _0x16e0b9 = _0x7634a0('substring')(_0x4d5771, _0x46e4e6), alert(_0x16e0b9), _0x16e0b9 == '0' && (document(_0x5a4a('0x3'))(_0x5a4a('0x0'))(_0x5a4a('0x9'))('display') = _0x5a4a('0x4')); } else document(_0x5a4a('0x3'))(_0x5a4a('0x0'))(_0x5a4a('0x9'))(_0x5a4a('0x5')) = _0x5a4a('0x4'); }; function fecharAvisoLGPD() { document('getElementById')('aviso-lgpd')(_0x5a4a('0x9'))('display') = 'none', document('cookie') = _0x5a4a('0x2'); }
        </script>
        <div id="aviso-lgpd" class="row sticky-top" style="background-color: #ffffcc; display:none">
            <div class="container">
            <div class="col-12 p-4" text-align-last: center; font-size: 18px;">
                <hr style="margin-top: 0"/>  
                <a href="/?id=2-Política-de-privacidade&ln" target="_blank"></a>
                <center><asp:Label ID="lblLGPDR" runat="server" Text="Política de Privacidade" meta:resourcekey="lblLGPDResource1" style="text-align:center"/>
                <br/>
                <br/>
                <button style="background-color: #32402E; color: #fff;" type="button" class="btn btn-lg" onclick="fecharAvisoLGPD()"><b>CONTINUAR</b></button></center>
                <br/>
                <hr style="margin-bottom: 2px; margin-top: 0"/>
            </div>
        </div>
        </div>

Comparação de CSV’S não funcionando com pandas Python

Estou precisando de uma ajuda, explicando rapidamente estou precisando comparar dataframes, sóq a comparação é de campos, exemplo: o campo 1 da tabela base pode estar no campo 50 da tabale “Combined_dataframe”
Bem eu fiz um “Rascunho” do codigo o qual funcionou perfeitamente

a = ('a','b','c','d','e','f')
b = ('f','e','d','c','b','a')
for element in a:
    for elementb in b:
        if element == elementb:
            print(str(a.index(element)) +' juntou com ' + str(b.index(elementb)))
            break
        else:
            print(element + elementb)

porem ele ampliado não funciona

# coding=cp860
import pandas as pd
import time
import os
import glob

os.chdir('Arquivos//Censurado (Nome de cliente)')

base = pd.read_csv('//Arquivos//base.csv', sep=';', encoding='cp860',header=None)
file = glob.glob('*.csv')
try:
    os.mkdir('Processamento')
except:
    base = base

fim = open('Processamento//erros.csv','w+')
fim.write('Nome;Data;Procedimento;Convenio')

all_filenames = (i for i in glob.glob('*.csv'))
combined_df = pd.concat((pd.read_csv(f, encoding="cp860", sep=';',usecols=(0,1,2,3)) for f in all_filenames))
combined_df.columns = ('Nome','Data','Procedimento','Verificacao')
linhabase = 0
a = (len(base) * '/').split('/')
a = a(:-1)
for line in a:
    achou = False
    basenome = str(base.iloc(linhabase,0))
    basedata = str(base.iloc(linhabase,1))
    baseproc = str(base.iloc(linhabase,2))
    baseverif = str(base.iloc(linhabase,3))
    baseconv = str(base.iloc(linhabase, 4))
    linhacomp = 0
    if baseverif == 'n':
        b = (len(combined_df) * '/').split('/')
        b = b(:-1)
        for nome in b:
            compnome = str(base.iloc(linhacomp,0))
            compdata = str(base.iloc(linhacomp,1))
            compproc = str(base.iloc(linhacomp,2))
            compveri = str(base.iloc(linhacomp,3))
            linhacomp = + 1
            if compveri == 'n':
                if compnome == basenome and basedata == compdata and baseproc == compproc:
                    base.iloc(linhabase,3) = 'verificado'
                    combined_df.iloc(linhacomp, 3) = 'verificado'
                    achou = True
                    break
    else:
        achou = true
    linhabase += 1
    if not achou:
            print(str(basenome) + ' Nao encontrado')
            fim.write(str(basenome) + ';' + str(basedata) + ';' + str(baseproc) + ';' + str(baseconv) + 'n ')
    else:
        print('Encontrou')
combined_df.to_csv('Processamento//combinados.csv',encoding="cp860", sep=';',header=('Nome','Data','Procedimentos','Verificacao'),index=None)
base.to_csv('Processamento//base.csv',encoding="cp860", sep=';',header=('Nome','Data','Procedimentos','Verificacao','Convenio'),index=None)
fim.close()

O programa ta acusando de não achar semelhanças, entretanto eu encontrei elas, exatamente iguais…
Ambas as planilhas estão sendo abertas corretamente!
Desde já agradeço

html – (Javascript) Variáveis globais importadas através do cdn não funcionam

Boas pessoal, estou a desenvolver um site server-rendering usando o pug, no entanto quando importo variáveis exteriores usando o CDN dá-me sempre Reference Error: variable is not defined.

base.pug

html
  head
    block head
      meta(name='viewport' content='width=device-width, initial-scale=1.0')
      meta(charset='UTF-8')
      link(rel="stylesheet", href="http://pt.stackoverflow.com/css/style.css")
      link(rel='shortcut icon' type='image/png' href='/img/favicon.png')
      link(rel='stylesheet' href='https://fonts.googleapis.com/css?family=Lato:300,300i,700')
      title Natours | #{title}

  body
    // HEADER
    include _header

    // CONTENT
    block content
      h1 This is a placeholder heading

    // FOOTER
    include _footer

    script(scr='https://unpkg.com/axios/dist/axios.min.js') 
    script(src="https://pt.stackoverflow.com/js/mapbox.js")
    script(src='/js/login.js')

login.js:

const login = async (email, password) => {
  console.log(email, password);
  try {
    const res = await axios({
      method: 'POST',
      url: 'http://127.0.0.1:3000/api/v1/users/login',
      data: {
        email,
        password
      }
    });
    console.log(res);
  } catch (err) {
    console.log(err);
  }
};

const form = document
  .querySelector('.form')
  .addEventListener('submit', event => {
    event.preventDefault();
    const email = document.getElementById('email').value;
    const password = document.getElementById('password').value;
    login(email, password);
  });

Alguém já se deparou com este erro?

JAVAFX não salva ou edita os novos dados no banco de dados MySQL

Tenho uma aplicação JavaFX e Banco de dados MySQL.

Tenho dois formulários que dependem da classe Seller e Department e seus atributos.

No primeiro formulário eu insiro os dados de um novo Departamento, salvo no banco e é criado um novo ID para esse registro o mesmo ocorre com o Vendedor(Seller).

O problema é que quando clico no botão “Salvar” ou “Editar” do Vendedor(Seller), ele não salva os novos dados inseridos no segundo formulário no banco de dados. Ocorre o seguinte erro:

Caused by: java.lang.NullPointerException
at model.dao.impl.SellerDaoJDBC.update(SellerDaoJDBC.java:83)
at model.services.SellerService.saveOrUpdate(SellerService.java:22)
at gui.SellerFormController.onBtSaveAction(SellerFormController.java:128)

Classe SellerFormController

@FXML
public void onBtSaveAction(ActionEvent event) {
    // System.out.println("Ação do Botão Salvar!!!");
    if (entity == null) {
        throw new IllegalStateException("Entity was null");
    }
    if (service == null) {
        throw new IllegalStateException("Service was null");
    }
    try {
        entity = getFormData();// pegar os dados da cx e instanciar um depto
        service.saveOrUpdate(entity);
        notifyDataChangeListeners();
        Utils.currentStage(event).close();
    } catch (ValidationException e) {
        setErrorMessages(e.getErros());
    } catch (DbException e) {
        Alerts.showAlert("Error saving object", null, e.getMessage(), AlertType.ERROR);
    }
}

SellerService

public void saveOrUpdate(Seller obj) {
    if(obj.getId() == null) {
        dao.insert(obj);
    }
    else {
        dao.update(obj);
    }

SellerDAOJDBC

@Override
public void update(Seller obj) {
    PreparedStatement st = null;
    try {
        st = conn.prepareStatement(
                "UPDATE seller "
                + "SET Name = ?, NumFunc = ?, NumVinc = ?, NumPen = ?,  Email = ?, BirthDate = ?, BaseSalary = ?, Banco = ?, Agencia = ?, Conta = ?, DepartmentId = ? "
                + "WHERE Id = ?");
        
        st.setString(1, obj.getName());
        st.setInt(2, obj.getNumFunc());
        st.setInt(3, obj.getNumVinc());
        st.setInt(4, obj.getNumPen());
        st.setString(5, obj.getEmail());
        st.setDate(6, new java.sql.Date(obj.getBirthDate().getTime()));
        st.setDouble(7, obj.getBaseSalary());
        st.setInt(8, obj.getBanco());
        st.setInt(9, obj.getAgencia());
        st.setInt(10, obj.getConta());
        st.setInt(11, obj.getDepartment().getId());
        st.setInt(12, obj.getId());
        
        st.executeUpdate();
    }
    catch (SQLException e) {
        throw new DbException(e.getMessage());
    }
    finally {
        DB.closeStatement(st);
    }
}

android – função é ouvida no AVD mas não no dispositivo físico

Boa noite, estou com um problema de que quando eu mando no meu aplicativo de mensagem utilizando o meu dispositivo físico (xiaomi mi 8 pro com o sistema MIU) o chat do app que está no meu AVD(Que é o mesmo apk) atualiza na hora, mas quando eu envio mensagem do meu AVD, a mensagem não é atualizada automaticamente.

import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:flutter/rendering.dart';
import 'package:mysql1/mysql1.dart' as mysql;
import 'dart:async';

class Visualizacao extends StatefulWidget {
  Visualizacao(
      {Key key, this.titulo, this.imagem, this.id_user, this.table, this.name})
      : super(key: key);
  final String titulo;
  final String imagem;
  final int id_user;
  final String table;
  final String name;

  @override
  _VisualizacaoState createState() => _VisualizacaoState();
}

class _VisualizacaoState extends State<Visualizacao> {
  String texto;
  Map mensagem;
  List mensagens = ();
  var _streamController = StreamController<List>();

  var settings = mysql.ConnectionSettings();
  Future getMensagens() async {
    var conn = await mysql.MySqlConnection.connect(settings);
    mensagens = ();
    try {
      var results = await conn
          .query("select * from ${widget.table}")
          .then((value) => value.forEach((element) {
                try {
                  //print("'Visualizacao.dart': Mensagem: ${element("conteudo")}");
                  mensagem = {
                    "conteudo": element("conteudo"),
                    "nome": element("nome_user"),
                    "id_user": element("id_user")
                  };
                  mensagens.insert(0, mensagem);
                } catch (e) {
                  print("'Visualizacao.dart': Não foi possível add");
                }
              }));
      if (mensagens.length == 0) {
        print("'Visualizacao.dart': Sem nenhuma mensagem");
      } else {
        print("'Visualizacao.dart': Com mensagem");
        conn.close();

        _streamController.add(mensagens);

        return mensagens;
      }
    } catch (e) {
      print(e);
    }
    mensagens = ();
  }

  Future addMensagens(content, id_user) async {
    var conn = await mysql.MySqlConnection.connect(settings);
    try {
      var results = await conn.query(
          "insert into ${widget.table} values (null, ?, ?, ?)",
          (content, widget.id_user, widget.name));
      print("'Visualizacao.dart': Texto adicionado: $content");
      // await getMensagens();
    } catch (e) {
      print(e);
    }
  }

  void resetar() async {
    setState(() {
      mensagem = {};
      mensagens = ();
    });
  }

  @override
  void initState() {
    // TODO: implement initState
    print("----------------- VISUALIZACAO.DART -----------------");
    /*Timer.periodic(Duration(seconds: 2), (timer) {
      getMensagens();
    });*/
    _streamController = StreamController(onListen: () => getMensagens());
    //getMensagens();
    super.initState();
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
        appBar: AppBar(
          title: Row(
            children: (
              ClipRRect(
                child: Image.asset(
                  "${widget.imagem}",
                  height: 45,
                  filterQuality: FilterQuality.high,
                  fit: BoxFit.fill,
                  semanticLabel: "Imagem Grupo",
                ),
                borderRadius: BorderRadius.circular(25),
              ),
              Padding(
                  padding: EdgeInsets.only(left: 10),
                  child: Text("${widget.titulo}"))
            ),
          ),
        ),
        body: StreamBuilder(
            stream: _streamController.stream,
            builder: (context, snapshot) {
              if (snapshot.hasData) {
                return Padding(
                    padding: EdgeInsets.only(bottom: 70),
                    child: ListView.builder(
                        itemCount: mensagens.length,
                        itemBuilder: (context, index) {
                          return mensagens(index)("nome") == widget.name
                              ? Padding(
                                  padding: EdgeInsets.only(left: 120),
                                  child: ClipRRect(
                                    borderRadius: BorderRadius.circular(20),
                                    child: Card(
                                        color: Colors.red(700),
                                        child: ListTile(
                                          title: Text(
                                            mensagens(index)("conteudo"),
                                            style:
                                                TextStyle(color: Colors.white),
                                          ),
                                          subtitle: Text(
                                              mensagens(index)("nome"),
                                              style: TextStyle(
                                                  color: Colors.white)),
                                        )),
                                  ),
                                )
                              : Padding(
                                  padding: EdgeInsets.only(right: 120),
                                  child: ClipRRect(
                                    borderRadius: BorderRadius.circular(20),
                                    child: Card(
                                        child: ListTile(
                                      title: Text(mensagens(index)("conteudo")),
                                      subtitle: Text(mensagens(index)("nome")),
                                    )),
                                  ));
                        }));
              } else {
                return Center(
                  child: CircularProgressIndicator(),
                );
              }
            }),
        bottomSheet: Row(children: (
          Container(
            padding: EdgeInsets.only(left: 10, bottom: 1),
            width: 340.0,
            child: TextField(
              maxLines: 100,
              minLines: 1,
              textCapitalization: TextCapitalization.sentences,
              onChanged: (value) {
                texto = value;
                print("'Visualizacao.dart': Texto: $texto");
              },
              decoration: InputDecoration(
                  labelText: "Digite aqui sua dúvida",
                  floatingLabelBehavior: FloatingLabelBehavior.never),
            ),
          ),
          IconButton(
              icon: Icon(
                Icons.message,
                color: Colors.red,
              ),
              onPressed: () async {
                setState(() async {
                  await addMensagens(texto, widget.id_user);
                  await resetar();
                  await getMensagens();
                });
              })
        )));
  }
}

inserir a descrição da imagem aqui

O while parece que não passa da primeira interação

é um código que acha a raiz pelo método da bisseção.
acho que ele não tá passando da primeira iteração no while, já que sempre mostra a mesma raiz : -1,183. Talvez seja algum comando no lugar errado, mas já tentei mudar os parâmetros do while, as chamadas das funções .. e nada mudou.

`#include<stdio.h>
#include<math.h>

float bissecao(float a,float b){

float m;
m = (a+b)/2;

return m;   

}

float funcao(float x){

float y;
y = powf(2,-x)- 2*sin(x);
return y;

}

float raiz(float a, float b, int maxIT, float lim){

 float m, fa, fb, fm;
 fb=funcao(b);
 fa=funcao(a);
 int N = 0;
 
while(maxIT < N & fabs(funcao(m))<= lim){
    
    m = bissecao(a,b);
    fm=funcao(m);

    if(fa*fm<0){
        b = m;
        fb = fm;
    
    } else{ 
        a = m;
        fa = fm;
    }   

 }  
    

return m;
}

int main(){

float C,A, B;
float LIM;
int N=0;    
        
    printf("==== METODO DA BISSECAO===n");

printf( "ndigite quantas iteracoes deseja realizar:n");
scanf("%d", &N);

printf("n limite =");
scanf("%f", &LIM);

printf("  na= ");
scanf("%f", &A);

printf("nb = ");
scanf("%f", &B);


 if(funcao(A)*funcao(B)>0){
    
    printf("intervalo nao aplicavel.n");
    printf("digite um novo intervalo:nn");
    
        printf(" a= ");
        scanf("%f", &A);

        printf(" nb = ");
        scanf("%f", &B);
 }
 
C = raiz(A,B,N,LIM);
printf("Raiz aproximada = %.3f", C);

return 0;

} `

Cancela a execução de uma função em Javascript caso seja chamada novamente e não tenha terminado

Tenho uma função Javascript que preenche alguns campos de select, dentre eles alguns checkbox. Quando você clica em qualquer checkbox ou altera o valor de algum dos selects eu disparo uma função (é sempre mesma) que pega os dados de todos os locais e faz uma filtragem para o sistema. Meu problema é quando o usuário clica, por exemplo, em vários checkbox bem rápido, o que gera uma chamada de função para cada clique e ela acaba executando várias vezes, mas só é necessário que execute o último clique. Tem como eu cancelar as primeiras execuções da função e executar somente a última?

python – PYGAME NÃO É RECONHECIDO NO PYCHARM

Boa noite, gente!

Eu estou com um problema que tá me irritado muito, pois nada resolve.Estou utilizando o pycharm e ele simplesmente não reconhece a biblio pygame. Eu já tentei de tudo, vários comandos no terminal (uso Linux) do próprio site Python, tutoriais brasileiros, gringos da internet, de fórum. Enfim, não sei mais onde caçar ajuda. O erro é “ModuleNotFoundError: No module named ‘pygame’
“. Quando eu utilizei alguns comandos no terminal, pareceu que tudo tava resolvido, mas é só executar o código que acontece isso. Alguém me ajuda porque tenho um jogo pra entregar sexta e não tenho muito tempo até lá kkkk

inserir a descrição da imagem aqui

visual studio code – Condição Não Passa do IF – JavaScript

Olá,

Estou práticando JS porém em condicional meu código(que segue abaixo) não passa do IF, mesmo que os valores do input venham de acordo a comparação else if por exemplo, ele retorna o valor de IF.

Alguém pode me ajudar por favor.

Desde já agradeço.

Document

Seu Objetivo:

var obj = document.getElementById("objetivos").value;
var resultado = document.getElementById('resultado')

function seuTreino(){
    if (obj == 'Emagrecer' || 'Perder Peso' || 'Reduzir Medidas'){
        resultado.innerHTML = "Seu Treino Será Aérobico"
    }else if ( obj == 'Ganhar Massa' || 'Definir'){
        resultado.innerHTML = "Musc"
    }else{
        resultado.innerHTML = "Outros"
    
    }

}  

</script>

java – Não estou conseguindo fazer o spritesheet

Recentemente começei a fazer um curso de gameDev da Danki porem na parte de spritesheet sempre da o seguinte erro e a janela do java fica branca não aparece nada

Exception in thread “main” java.lang.IllegalArgumentException: input == null!

at java.desktop/javax.imageio.ImageIO.read(ImageIO.java:1400)
at com.gcstudios.graficos.Spritesheet.<init>(Spritesheet.java:14)
at com.gcstudios.main.Game.<init>(Game.java:37)
at com.gcstudios.main.Game.main(Game.java:69) 

e eu pesquisei muito e vi que pode ser o plugin de video, mas antes de tomar alguma medida gostaria de saber se estou fazendo algo de errado, agradeço desde já

Class Game

package com.gcstudios.main;

import java.awt.Canvas;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.image.BufferStrategy;
import java.awt.image.BufferedImage;
import java.util.ArrayList;
import java.util.List;

import javax.swing.JFrame;

import com.gcstudios.entities.Entity;

import com.gcstudios.entities.Player;

import com.gcstudios.graficos.Spritesheet;

public class Game extends Canvas implements Runnable{

private static final long serialVersionUID = 1L;

public static JFrame frame;

private Thread thread;

private boolean isRunning = true;

private final int WIDTH = 240;

private final int HEIGHT = 160;

private final int SCALE = 3;

private BufferedImage image;

public List<Entity> entity;
public Spritesheet spritesheet;

public Game() {
    setPreferredSize(new Dimension(WIDTH*SCALE, HEIGHT*SCALE));
    initFrame();
    image = new BufferedImage(WIDTH, HEIGHT, BufferedImage.TYPE_INT_ARGB);
    entity = new ArrayList<Entity>();
    spritesheet = new Spritesheet("data/res/spritesheet.png");
    
    Player player = new Player(0,0,16,16,spritesheet.getSprite(30, 84, 30, 30));
    entity.add(player); 
}

public void initFrame() {
    frame = new JFrame("game_01");
    frame.add(this);
    frame.setResizable(false);
    frame.pack();
    frame.setLocationRelativeTo(null);
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.setVisible(true);
}

public synchronized void start() {
    thread = new Thread(this);
    isRunning = true;
    thread.start();
}

public synchronized void stop(){
    isRunning = false;
    try{
        thread.join();
    }catch (InterruptedException e){
        e.printStackTrace();
    }
}

public static void main(String() args) {
    new Game().start();
}

public void tick() {
    for(int i = 0; i < Entity.size(); i++) {
        Entity e = entity.get(i);
        e.tick();
    }
}
public void render() {
    BufferStrategy bs = this.getBufferStrategy();
    if(bs == null) {
        this.createBufferStrategy(3);
        return;
    }
    
    Graphics g = image.getGraphics();
    g.setColor(new Color(0,0,0));
    g.fillRect(0, 0, WIDTH, HEIGHT);
    //Graphic2D g2 = (Graphic2D) g;
    for(int i = 0; i < Entity.size(); i++) {
        Entity e = entity.get(i);
        e.render(g);}
    g.dispose();
    g = bs.getDrawGraphics();
    g.drawImage(image, 0, 0, WIDTH*SCALE, HEIGHT*SCALE,null);
    bs.show();
}

public void run() {
    long lastTime = System.nanoTime();
    double amountOfTicks = 60.0;
    double ns = 1000000000 / amountOfTicks;
    double delta = 0;
    int frames = 0;
    double timer = System.currentTimeMillis();
    
    while(isRunning) {
        long now = System.nanoTime();
        delta+= (now - lastTime) / ns;
        lastTime = now;
        if (delta >=1) {
            tick();
            render();
            frames++;
            delta --;
        }
        
        if (System.currentTimeMillis() - timer >= 1000) {
            System.out.println("Fps: "+ frames);
            frames = 0;
            timer += 1000;
        }
    } stop();
}

}

Class Spritesheet

package com.gcstudios.graficos;

import java.awt.image.BufferedImage;
import java.io.IOException;

import javax.imageio.ImageIO;

public class Spritesheet {

private BufferedImage spritesheet;

public Spritesheet(String path) {
    try {
        spritesheet = ImageIO.read(getClass().getResource(path));
    } catch (IOException e) {
        e.printStackTrace();
    }
}

public BufferedImage getSprite(int x, int y, int width, int height) {
    return spritesheet.getSubimage(x, y, width, height);
    
}

}

Class Entity

package com.gcstudios.entities;

import java.awt.Graphics;
import java.awt.image.BufferedImage;

public class Entity {
private int x;
private int y;
private int width;
private int height;

private BufferedImage sprite;

public Entity(int x, int y, int width, int height) {
    this.x = x;
    this.y = y;
    this.width = width;
    this.height = height;
}

public int getx() {
    return this.x;
}

public int gety() {
    return this.y;
}

public int getwidth() {
    return this.width;
}

public int getheight() {
    return this.height;
}

public void tick() {
    }

public void render(Graphics g) {
    g.drawImage(sprite, this.getx(), this.gety(), null);
}

public static int size() {
    return 0;
}

}

Class Player

package com.gcstudios.entities;

import java.awt.image.BufferedImage;

public class Player extends Entity{

public Player(int x, int y, int width, int height, BufferedImage bufferedImage) {
    super(x, y, width, height);
}

}